Свобода БЕЙСИК
Парадигма | Управляемый событиями , процедурный |
---|---|
Разработано | Карл Гундель |
Разработчик | Шоптоки Системы |
Впервые появился | 1992 год |
Стабильная версия | 4.5.1
/ 31 мая 2017 г |
Дисциплина набора текста | Динамичный , слабый |
ТЫ | Microsoft Windows ; Linux в неизданной Liberty Basic 5 |
Лицензия | собственный |
Расширения имен файлов | .bas, .fr3 |
Веб-сайт | свободаосновная |
Основные реализации | |
Запустите BASIC, GLBCC | |
Под влиянием | |
QuickBASIC | |
Под влиянием | |
Просто БЕЙСИК , Леопард |
Liberty BASIC (LB) — это коммерческий язык программирования и интегрированная среда разработки (IDE). Имеет интерпретатор , разработанный на Smalltalk , распознающий собственный диалект языка программирования BASIC . Он работает в 16- и 32-битных версиях Windows и OS/2 .
Предыстория [ править ]
Liberty BASIC был написан Карлом «Gunner» Gundel и опубликован в первом выпуске его компанией Shoptalk Systems в 1991 году. С тех пор он постоянно развивался. Последнее опубликованное обновление [update] к программному обеспечению версии 4.5.1 было выпущено в июне 2018 г. [1]
Хотя Liberty BASIC имеет свои ограничения в плане расширенного программирования, он предоставляет вводную интегрированную среду разработки, IDE, для средних и продвинутых пользователей Windows и OS/2. библиотеки динамической компоновки Доступны (DLL). В своей текущей версии он работает только в Microsoft Windows и под Wine в Linux. Альфа-тестирование Liberty BASIC v5.0 продолжается с версиями, которые работают на Microsoft Windows , Mac OS X , Linux, а также на Raspberry Pi.
Liberty BASIC не компилируется в машинный код. Вместо этого он компилирует код, написанный в IDE, в зашифрованный файл с расширением TKN. Затем этот файл запускается EXE-файлом с тем же именем, хотя оно может измениться с выпуском версии 5.
Особенности [ править ]
- Инструмент визуальной разработки под названием FreeForm, написанный на Liberty BASIC и значительно расширенный сообществом Liberty BASIC на протяжении многих лет.
- Отладчик уровня исходного кода
- вызов DLL и интерфейсов прикладного программирования (API)
- Возможность цветной графики
- Можно создавать игры со спрайтовой анимацией, звуком, музыкой и управлением джойстиком.
- Дополнительный пакет под названием Assist со множеством новых функций, таких как средство форматирования кода, управление версиями исходного кода, профилировщик производительности, простой в использовании браузер различий кода, а также улучшенная система пакетов и развертывания.
Отличительные особенности [ править ]
Liberty BASIC позволяет осуществлять процедурное программирование в стиле, аналогичном DOS BASIC, который работает в консольном режиме, используя «главное окно» по умолчанию, которое отображает форматированный текст и принимает ввод пользователя. Он также поддерживает программирование, управляемое событиями, на основе графического пользовательского интерфейса (GUI) с использованием нескольких типов окон, которые могут содержать стандартные элементы управления, такие как кнопки, меню, текстовые поля и т. д.
Центральной идеей создания Liberty BASIC было моделирование обработки окон на основе синтаксиса обработки файлов. Например (из файла справки Liberty BASIC):
«Команда OPEN открывает связь с устройством, которым может быть дисковый файл, окно, динамическая библиотека или последовательный порт связи».
OPEN device FOR purpose AS #handle {LEN = n}
Как только «устройство» открыто, на него можно «распечатать» данные, а также команды для управления этим устройством. Для каждого типа устройства существует набор команд, которые можно отправить ему таким способом. В более поздних версиях LB слово «print» может быть опущено из оператора «print», что еще больше упрощает синтаксис.
Простота была в основе Liberty BASIC с самого начала. Это облегчает изучение, но за это приходится платить, возможно, за счет ограничения функциональности. В LB v4.03 поддерживаются только два типа данных — числовые и строковые. Никаких объявлений типов не требуется; любая переменная со знаком $ в конце имени является строковой переменной, в противном случае она является числовой. (План LB v5 заключается в поддержке других типов и пользовательских типов, а также этих.) Для вызовов API или сторонних DLL существует STRUCT и дополнительные типы, необходимые для DLL. Единственная другая поддерживаемая структура данных — это ARRAY. Поддерживаются одно- и двухмерные массивы. LB v5 может поддерживать массивы пользовательских типов.
написанные на Liberty BASIC программы , Известные
- FreeForm, редактор графического интерфейса для создания форматов графического интерфейса, был написан на LB.
Пример кода [ править ]
Вот несколько примеров языка:
"Привет, мир!" программа:
print "Hello, World!"
end
Программа для отображения всплывающего окна сообщения со словами «Hello, World!» на этом:
nomainwin
notice "Hello, World!"
end
nomainwin
notice "Example program" + CHR$(13) + "Hello, World!"
end
Программа для отображения поля ввода:
nomainwin
prompt "Enter your name:"; response$
notice "Response:" + CHR$(13) + response$
end
Запуск другого приложения:
nomainwin
run "notepad.exe"
end
Печать таблицы умножения 5 на бланке:
[multi]
for i = 1 to 15
res = 5 * i
print res
next i
end
Альтернативные реализации [ править ]
Коллекция компиляторов GNU/Liberty Basic (GLBCC), созданная Энтони Лигуори, представляет собой набор инструментов для компиляции программ Liberty Basic, работающих в системах Windows и Linux, но проект не обновлялся с 2001 года.
В 2012 году стала доступна альтернативная для Windows реализация Liberty BASIC — LB Booster (LBB). Хотя LBB в значительной степени совместим с синтаксисом языка Liberty BASIC 4, он был разработан совершенно независимо Ричардом Расселом и написан на BBC BASIC .
LBB предлагает (как правило) повышенную скорость выполнения, меньшие по размеру автономные исполняемые файлы и некоторые дополнительные возможности. Однако LBB не на 100% совместим с LB4, и хотя многие программы будут работать без изменений, некоторые из них, возможно, придется адаптировать или даже могут оказаться непригодными для работы под LBB.
Liberty Basic не предусматривает объявления данных. Вместо этого любое новое имя данных рассматривается как новое объявление. Некоторые считают это преимуществом, другие видят в этом проблему отладки несовершенных типизаторов. В 2019 году Питер Дж. Д. Мэтьюз разработал метод добавления объявлений и проверки необъявленных данных без изменения кода, видимого интерпретатором LB. В 2023 году эта система была перенесена на GitHub в общедоступный репозиторий «LBPrePass» для использования всеми желающими. Этот репозиторий также содержит документацию по программе. Программа написана на Liberty Basic 4.5.1 и предназначена для анализа кода версии 4.5.1.
См. также [ править ]
- Запустите BASIC — бесплатный сервер веб-приложений на основе Liberty BASIC.
Ссылки [ править ]
- ^ «Либерти БЕЙСИК Ньюс» . www.libertybasic.com . Проверено 25 января 2019 г.
Внешние ссылки [ править ]
- www.libertybasic.com — официальный сайт
- Блог Карла Гюнделя
- Liberty BASIC (на французском языке)
- Liberty BASIC на Rosetta Code
- Коллекция базовых компиляторов GNU/Liberty (GLBCC)
- Усилитель LB