Paradigm | Управляемый событиями, Процедурный |
---|---|
Разработано | Карл Гундель |
Разработчик | Shoptalk Systems |
Впервые появилось | 1992; 28 лет назад (1992 г.) |
Стабильный выпуск | 4.5.1 / 31 мая 2017 г.; 3 года назад (31.05.2017) |
Дисциплина набора текста | Динамический, слабый |
OS | Microsoft Windows ; Linux в невыпущенной версии Liberty Basic 5 |
Лицензия | проприетарная |
Расширения имен файлов | .bas,.fr3 |
Веб-сайт | libertybasic.com |
Major реализации | |
Запуск BASIC, GLBCC | |
Под влиянием | |
QuickBASIC | |
Под влиянием | |
, Leopard |
Liberty BASIC (LB) - это коммерческий компьютер язык программирования и интегрированная среда разработки (IDE). Он имеет интерпретатор , разработанный на Smalltalk, который распознает свой собственный диалект языка программирования BASIC. Он работает на 16- и 32-битной Windows и OS / 2.
Liberty BASIC был написан Карлом Гунделем и опубликован в своей первой версии его компанией Shoptalk Systems в 1992 году. С тех пор он неуклонно развивался. Последнее опубликованное обновление программного обеспечения, версия 4.5.1, было в июне 2018 года.
Хотя 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.
Liberty BASIC позволяет программировать в стиле, аналогичном DOS BASIC, которые работают в консольном режиме, используя "главное окно" по умолчанию, которое отображает отформатированные текст и принимает ввод пользователя. Он также поддерживает программирование, управляемое событиями, на основе графического пользовательского интерфейса (GUI) с использованием нескольких типов окон, которые могут содержать стандартные элементы управления, такие как кнопки, меню, текстовые поля и т. Д.
Центральная идея при создании Liberty BASIC заключалась в моделировании обработки окон после синтаксиса для обработки файлов. Например, (из файла справки Liberty BASIC):
«Команда OPEN открывает связь с устройством, которое может быть файлом на диске, окном, библиотекой динамической компоновки или портом последовательной связи».
ОТКРЫТЬ устройство ДЛЯ ЦЕЛЕЙ КАК #handle {LEN = n}
Как только «устройство» открыто, данные, а также команды для управления этим устройством могут быть «напечатаны» на нем. Для каждого типа устройства существует набор команд, которые можно отправить ему таким образом. В более поздних версиях LB слово «print» может быть исключено из оператора «print», что делает синтаксис еще проще.
Простота была в основе Liberty BASIC с самого начала. Это облегчает изучение, но, возможно, за счет ограничения функциональности. В LB v4.03 поддерживаются только два типа данных - числовой и строковый. Объявления типа не требуются; любая переменная со знаком $ в конце имени является строковой переменной, в противном случае - числовой. (План для LB v5 состоит в том, чтобы поддерживать другие типы и типы, определяемые пользователем, а также эти.) С целью выполнения вызовов API или сторонних DLL существует STRUCT и дополнительные типы, необходимые для DLL. Единственная поддерживаемая другая структура данных - это ARRAY. Поддерживаются массивы одного или двух измерений. LB v5 может поддерживать массивы определяемых пользователем типов.
Вот несколько примеров языка:
«Привет, мир!» программа:
напечатайте "Hello, World!" end
Программа для отображения всплывающего окна сообщения со словами «Hello, World!» на нем:
nomainwin уведомление "Hello, World!" end
nomainwin notice "Пример программы" + CHR $ (13) + "Hello, World!" конец
Программа для отображения поля ввода:
nomainwin prompt "Введите свое имя:"; response $ notice "Response:" + CHR $ (13) + response $ end
Запуск другого приложения с использованием Liberty BASIC:
nomainwin run "notepad.exe" end
Печать таблицы умножения 5 в форме:
[multi] для i = от 1 до 10 res = 5 * i print res next i end
Коллекция базовых компиляторов GNU / Liberty (GLBCC), созданная Энтони Лигуори, представляет собой набор инструментов для компиляции программ Liberty Basic, работает в системах Windows и Linux, но проект не обновлялся с 2001 года.
В 2011 году альтернативная Windows реализация Liberty BASIC, LB Booster (LBB) стал доступным. Хотя LBB в значительной степени совместим с синтаксисом языка Liberty BASIC 4, он был полностью независимо разработан Ричардом Расселом и написан на BBC BASIC.
LBB предлагает (как правило) повышенную скорость выполнения, меньшую автономность исполняемые файлы и некоторые дополнительные возможности. Однако LBB не на 100% совместим с LB4, и хотя многие программы будут работать без изменений, некоторые из них могут нуждаться в адаптации или даже могут не подходить для работы под LBB.