Парадигма | Событийный , процедурный |
---|---|
Разработано | Карл Гундель |
Разработчик | Системы Shoptalk |
Впервые появился | 1992 |
Стабильный выпуск | 4.5.1 / 31 мая 2017 г . |
Печатная дисциплина | Динамичный , слабый |
Операционные системы | Microsoft Windows ; Linux в невыпущенной Liberty Basic 5 |
Лицензия | проприетарный |
Расширения имени файла | .bas, .fr3 |
Интернет сайт | libertybasic |
Основные реализации | |
Запустите BASIC , GLBCC | |
Под влиянием | |
QuickBASIC | |
Под влиянием | |
Just BASIC , Leopard |
Liberty BASIC (LB) - это коммерческий язык компьютерного программирования и интегрированная среда разработки (IDE). Он имеет переводчик , разработанный в Smalltalk , которая признает свой собственный диалект в BASIC языка программирования. Он работает в 16- и 32-битной Windows и OS / 2 .
Фон [ править ]
Liberty BASIC был написан Карлом Гунделем и опубликован в своем первом выпуске его компанией Shoptalk Systems в 1992 году. С тех пор он неуклонно развивался. Последнее опубликованное обновление [Обновить]программного обеспечения версии 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 открывает связь с устройством, которое может быть файлом на диске, окном, библиотекой с динамической компоновкой или последовательным коммуникационным портом».
ОТКРЫТЬ устройство ДЛЯ цели 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.
Пример кода [ править ]
Вот несколько примеров языка:
"Привет, мир!" программа:
печать "Hello, World!" конец
Программа для отображения всплывающего окна сообщения со словами «Hello, World!» в теме:
nomainwin уведомление "Hello, World!" конец
nomainwin notice "Пример программы" + CHR $ ( 13 ) + "Hello, World!" конец
Программа для отображения поля ввода:
nomainwin подсказка «Введите свое имя:» ; response $ notice "Response:" + CHR $ ( 13 ) + response $ end
Запуск другого приложения с использованием Liberty BASIC:
nomainwin запустить "notepad.exe" конец
Печать таблицы умножения 5 на форме:
[ multi ] для i = от 1 до 10 res = 5 * i распечатать res next i end
Альтернативные реализации [ править ]
Коллекция компиляторов GNU / Liberty Basic (GLBCC), созданная Энтони Лигуори, представляет собой набор инструментов для компиляции программ Liberty Basic, работающих в системах Windows и Linux, но проект не обновлялся с 2001 года.
В 2011 году стала доступна альтернативная реализация Liberty BASIC для Windows , LB Booster (LBB). Хотя LBB в значительной степени совместим с синтаксисом языка Liberty BASIC 4, он был полностью независимо разработан Ричардом Расселом и написан на BBC BASIC .
LBB предлагает (обычно) повышенную скорость выполнения, небольшие автономные исполняемые файлы и некоторые дополнительные возможности. Однако LBB не на 100% совместим с LB4, и хотя многие программы будут работать без изменений, некоторые из них могут нуждаться в адаптации или даже могут быть непригодными для работы под LBB.
См. Также [ править ]
- Run BASIC - бесплатный сервер веб-приложений на основе Liberty BASIC
Ссылки [ править ]
- ^ "Liberty BASIC News" . www.libertybasic.com . Проверено 25 января 2019 года .
Внешние ссылки [ править ]
- www.libertybasic.com - официальный сайт
- Блог Карла Гунделя
- Liberty BASIC (на французском)
- Liberty BASIC на Rosetta Code
- Коллекция компиляторов GNU / Liberty Basic (GLBCC)
- LB Booster