БудущееBASIC
Парадигма | процедурный |
---|---|
Разработано | Эндрю Гариепи |
Разработчик | Программное обеспечение Брилор |
Впервые появился | середина 1980-х |
Стабильная версия | БудущееБазовое 7.0.22 12 июля 2023 г |
ТЫ | MacOS |
Лицензия | Бесплатное ПО |
Веб-сайт | www |
FutureBasic — бесплатный BASIC компилятор для Apple от Macintosh Inc.
Он состоит из интегрированной среды разработки (IDE), редактора, менеджера проектов и т. д. как для PowerPC , так и для Intel микропроцессоров . С 1 января 2008 года в пакет включен транслятор FBtoC, который преобразует синтаксис FutureBasic в C Apple и автоматически вызывает коллекцию компиляторов GNU (gcc). Никаких знаний C не требуется. FutureBasic поддерживает доступ к Mac OS вызовам библиотеки .
История [ править ]
FutureBASIC (FB) начал свою жизнь в середине 1980-х годов. [1] как ZBasic , который был создан Эндрю Гариепи и задумывался как кроссплатформенная система разработки. Вскоре от кроссплатформенных аспектов отказались в пользу разработки для Macintosh. ZBasic приобрел преданных поклонников среди разработчиков, которые хвалили его простоту использования и компактный и быстрый код, создаваемый компилятором (легендарный труд, включающий широкое использование вручную созданного кода на языке ассемблера размером 68 КБ). В 1992 году, как следующий важный шаг после ZBasic версии 5. [2] , Zedcor Inc., компания братьев Гариепи Энди, Майка, Питера и их друзей, базирующаяся в Тусоне , штат Аризона, представила FutureBASIC (позже названный FBI). [а] В 1995 году Стаз Программное обеспечение, [3] под руководством Криса Стэсни приобрела права на рынок FutureBASIC. Крис Стэсни начал этот бизнес с обновлённой версии, а именно FBII, [б] и его собственная разработка, Генератор программ [с] (PG PRO), инструмент CASE.
Переход от 68k к центральному процессору (ЦП) PowerPC был длительным процессом, который включал полное переписывание редактора Крисом Стэсни и адаптацию компилятора Энди Гариепи. Результатом их усилий стала значительно улучшенная IDE под названием FB^3. [д] , был выпущен в сентябре 1999 года. [Это] , включающий, помимо прочего, отдельное приложение-компилятор, различные открытые и, следовательно, изменяемые среды выполнения, [ф] встроенная сборка PPC, упрощенный доступ к интерфейсу прикладного программирования (API) Macintosh Toolbox, а также расширенная библиотека встроенных функций. В основных выпусках обновлений появился полнофункциональный интерфейс Appearance Compliant. [г] среда выполнения, написанная Робертом Первесом, и соответствие углероду созданных приложений. полностью преобразована для работы на Mac OS X Когда-то интегрированная среда разработки FutureBASIC (FB IDE) была и называлась FB4 и впервые была выпущена в июле 2004 года.
Компания Staz Software , базирующаяся в Даймондхеде , штат Миссисипи , сильно пострадала от урагана Катрина в августе 2005 года, и темпы разработки замедлились в то время, когда требовались серьезные усилия для поддержания IDE в курсе эволюции Apple в сторону Macintosh на базе Intel.
В 2007 году независимая группа программистов-добровольцев FB, известная как команда FBtoC, разработала транслятор (FBtoC), который позволяет FB генерировать приложения в виде универсальных двоичных файлов с помощью компилятора GCC с открытым исходным кодом , который включен в каждую копию Apple Mac. Системное программное обеспечение OS X.
1 января 2008 года Staz Software объявила, что отныне FB будет бесплатным, и стал доступен FB4 с FBtoC 1.0. [4]
Поддержка процессоров и операционных систем [ править ]
Системные требования для оригинальной версии Macintosh: Motorola 68000. Системные требования для создания универсальных двоичных файлов с помощью FBtoC: Mac OS X v10.4 или новее, GCC 4.0 или новее, а также должны быть установлены SDK для перекрестной разработки.
Синтаксис [ править ]
Синтаксис FutureBasic поддерживает процедурные , модульные стили программирования с использованием вызовов функций и локальных переменных .
Ход программы и структурные блоки [ править ]
Пользовательские функции (также известные как ЛОКАЛЬНЫЕ FN в FutureBasic) во многом похожи на функции C или Pascal .
- Их также можно полностью изолировать от основной программы (оператор LOCAL MODE);
- они допускают рекурсию ;
- их можно вызывать динамически во время выполнения (оператор DEF FN USING);
- автоматически вызывается встроенными векторами событий FutureBasic (оператор ON EVENT FN);
- используется как совместная потоковая функция (оператор THREADBEGIN).
Определенные структуры (ENTERPROC/EXITPROC) используются для процедур обратного вызова при вызове Macintosh Toolbox .
Язык предоставляет программисту полный набор векторов для приложений, управляемых событиями, таких как ON MENU, ON MOUSE, ON DIALOG, ON APPLEEVENT, ON EDIT, ON TIMER и т. д.
Другие структурированные ключевые слова включают условные блоки, такие как:
- ДЛИННЫЙ ЕСЛИ .... XELSE ... КОНЕЦ ЕСЛИ
- ДЕЛАТЬ.... ДО ПОКА
- ПОКА... ВЕНД
- ВЫБОР... CASE... CASE ELSE... END SELECT
- ДЛЯ... СЛЕДУЮЩИЙ
Устаревшие команды языка BASIC, такие как GOTO и GOSUB /RETURN с номерами строк и метками, хотя и не рекомендуются, но поддерживаются в образовательных целях.
Ниже приведен пример простой программы для ввода числа и отображения «Hello World».
//Пример программы FutureBasic dim i,num,a$ //Это наши переменные окно 1 //открываем стандартное окно ввод «Количество петель»; a$ //БАЗОВЫЙ ввод от пользователя num=val(a$) //конвертируем текст в число long if num>0 //Структурированный ЕСЛИ for i = 1 to num //БАЗОВЫЙ цикл напечатайте «привет, мир» //выводим текст следующий я //конец цикла xelse //Иначе напечатайте «Не сегодня» //номер не введен конец, если do //Подождем, пока Apple-Q Обработка событий до ( gFBQuit ) //чтобы мы могли увидеть результаты
Типы данных [ править ]
FutureBasic поддерживает сложные типы данных, включая плавающие точки одинарной и двойной точности , целые числа двойной длины, массивы, строки и записи (аналогично структурам в C). Следует отметить структуры массивов DYNAMIC (размер занимаемой памяти увеличивается только при их использовании), включая массивы строк DYNAMIC, называемые INDEX$, и переменные-контейнеры, которые могут выполнять строковые операции с потоками данных размером до 2 ГБ.
C и Pascal кодирования стили заимствовали
Комментирование в коде существенно, что позволяет использовать операторы REMark и стиль C. /* remark */
заявления. Разделы кода можно добавить в закладки для удобства использования.
Другой альтернативный синтаксис, заимствованный из C, позволяет использовать такие операторы, как ++ -- == != += -= || &&
.
Символы в строках Pascal доступны так же, как и элементы массива: a$[0]
(длина в байтах); a$[1]
(первый символ строки a$
).
Хотя язык FutureBasic по-прежнему поддерживает типизацию переменных в старом стиле с суффиксными идентификаторами, он предоставляет современную альтернативу с предложением as:
dim b as byte
; dim s as short
, dim l as long
; и т. д.
Мосты к другим языкам [ править ]
- Сценарии AppleScript можно собирать с помощью операторов FutureBasic, а затем выполнять на лету работающим приложением. Пример:
маршрут _toAppleScript напечатать «вернуть мне путь в виде строки» маршрут _toScreen long if usr ApplescriptRun ( message $ ) = _noErr напечатать сообщение $ end if
- FutureBasic позволяет запускать команды UNIX. Пример:
// распечатываем календарь на 2009 год открыть «UNIX», 1, «кал 2009» тусклый $ делать линейный вход №1, а$ напечатайте $ до конца(1) закрыть 1
- FB позволяет использовать встроенный код C. Пример:
BeginCFunction // Простая функция C для сложения двух целых чисел long simple_add ( long a , long b ) { long sum ; сумма = а + б ; возврат ( сумма ); } endC // Определить функцию C, чтобы FB мог видеть ее. Панель инструментов fn simple_add ( long a , long b ) = long функции C // Создаем небольшую программу для сложения 2 + 2 с помощью окна 1. print fn simple_add ( 2 , 2 ) do HandleEvents пока ( gFBQuit )
Ограничения [ править ]
- Никакой кроссплатформенной разработки. Это компилятор только для Macintosh.
FutureBasic поддерживает архитектуру Macintosh Intel, но не компилируется ни под какую версию Microsoft Windows. [5] и см. нижнюю часть страницы по адресу: [6]
Примечания [ править ]
- ^ ФБР внесло серьезные улучшения в язык BASIC, поощряя разработчиков использовать именованные константы и локальные функции вместо подпрограмм для более структурированных программ и многократного использования кода.
- ^ FBII был 32-битным и мог работать с Mac 128 на Macintosh на базе G5 в эмулируемом режиме.
- ^ Program Generator — это инструмент быстрой разработки приложений , достаточно гибкий для быстрого создания сложных приложений для сред Macintosh, предшествующих Mac OS X. Для Mac OS X, программ, совместимых с внешним видом, FutureBASIC использует Apple Interface Builder .
- ^ Произносится как FB в кубе.
- ↑ Неделю спустя было выпущено европейское издание, которое включало английский, итальянский, немецкий (сейчас выпуск прекращен) и французский ( архивировано 15 июля 2011 г. в Wayback Machine ). Существует также издание на японском языке ( архивировано 21 марта 2008 г., в Wayback Machine ).
- ^ Начиная с FB^3, среда выполнения состоит из включаемых файлов, написанных на FutureBASIC, которые компилируются вместе с исходным кодом, написанным программистом. Он содержит различные объявления структур, констант, глобальных переменных, ресурсов, функций и процедур, составляющих язык FutureBASIC. Основными средами выполнения являются: Standard BASIC , Appearance Compliant и Mac Toolbox .
- ^ Среда выполнения Appearance Compliant обеспечивает доступ к большинству функций Apple Appearance Manager .
Ссылки [ править ]
- ^ История базовых войн на платформе Mac, написанная Джонатаном Хойлом для MacCompanion, Часть I ( Архивировано 5 сентября 2008 г., в Wayback Machine ) MacCompanion, Часть II ( Архивировано 4 августа 2009 г., в Wayback Machine )
- ^ ZBasic 5, рецензия Дэйва Келли для журнала MacTech
- ^ Дом Staz Software,inc.
- ^ «Добро пожаловать в проект FBtoC и бесплатное программное обеспечение FutureBasic» . www.4toc.com . nd Архивировано из оригинала 13 сентября 2019 года.
- ^ Индекс brilorsoftware.com
- ^ «Точка запуска Futurebasic Group» .