Будущее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. [г] среда выполнения, написанная Робертом Первесом, и соответствие углероду созданных приложений. Когда-то интегрированная среда разработки FutureBASIC (FB IDE) была полностью преобразована для работы на Mac OS X и называлась 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».
//Example FutureBasic program dim i,num,a$ //These are our variables window 1 //open standard window input "Number of loops "; a$ //BASIC input from user num=val(a$) //convert text to number long if num>0 //Structured IF for i = 1 to num //BASIC loop print "hello world" //output text next i //end of loop xelse //Otherwise print "Not today" //no number entered end if do //Wait until Apple-Q HandleEvents until ( gFBQuit ) //so that we can see results
Типы данных [ править ]
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, а затем выполнять на лету работающим приложением. Пример:
route _toAppleScript print "return the path to me as string" route _toScreen long if usr ApplescriptRun( message$ ) = _noErr print message$ end if
- FutureBasic позволяет запускать команды UNIX. Пример:
// print a calendar for 2009 open "UNIX", 1, "cal 2009" dim a$ do line input #1, a$ print a$ until eof(1) close 1
- FB позволяет использовать встроенный код C. Пример:
BeginCFunction // Simple C function to add two integers long simple_add( long a, long b ) { long sum; sum = a + b; return (sum); } endC // Define C function so FB can see it toolbox fn simple_add ( long a, long b ) = long // Create little program to add 2 + 2 with the C function window 1 print fn simple_add ( 2, 2 ) do HandleEvents until ( 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» .