Введение

Liberty BASIC (LB) — это коммерческий язык программирования и интегрированная среда разработки (IDE). Он использует интерпретатор, разработанный на Smalltalk, который понимает собственный диалект языка BASIC. Он работает в 16- и 32-битных версиях Windows и OS/2.

Предыстория

Liberty BASIC был написан Карлом "Ганнером" Гунделем и впервые опубликован его компанией Shoptalk Systems в 1991 году. С тех пор он постоянно совершенствовался. Последнее опубликованное обновление программного обеспечения, версия 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

FreeForm, графический редактор для создания форматов графического интерфейса, был написан на LB.

Альтернативные варианты реализации

GNU/Liberty Basic Compiler Collection (GLBCC), разработанная Энтони Лигуори, представляет собой набор инструментов для компиляции программ Liberty Basic, работающих в системах Windows и Linux, но проект не обновлялся с 2001 года. В 2012 году появилась альтернативная реализация Liberty BASIC для Windows – LB Booster (LBB). Хотя LBB в значительной степени совместим с синтаксисом языка Liberty BASIC 4, он был разработан полностью независимо Ричардом Расселом и написан на BBC BASIC. LBB обеспечивает (как правило) более высокую скорость выполнения, меньшие автономные исполняемые файлы и некоторые дополнительные возможности. Однако LBB не полностью совместим с LB4, и хотя многие программы будут работать без изменений, некоторые могут потребовать адаптации или даже оказаться непригодными для запуска под LBB. Liberty Basic не поддерживает объявление данных. Вместо этого любое новое имя данных рассматривается как новое объявление. Некоторые считают это преимуществом, другие – проблемой при отладке для тех, кто неаккуратно набирает текст. В 2019 году Питер Дж. Д. Мэтьюс разработал способ добавления объявлений и проверки на необъявленные данные без изменения кода, который видит интерпретатор LB. В 2023 году эта система была перенесена на GitHub в общедоступный репозиторий "LBPrePass" для всеобщего использования. Этот репозиторий также содержит документацию к программе. Программа написана на Liberty Basic 4.5.1 и предназначена для анализа кода, написанного на этой версии.