Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
В Liberty Basic v4.03 IDE система

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.

Особенности [ править ]

Liberty Basic v4.03, работающая в Linux с Wine
  • Инструмент визуальной разработки под названием 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

Ссылки [ править ]

  1. ^ "Liberty BASIC News" . www.libertybasic.com . Проверено 25 января 2019 года .

Внешние ссылки [ править ]

  • www.libertybasic.com  - официальный сайт
  • Блог Карла Гунделя
  • Liberty BASIC (на французском)
  • Liberty BASIC на Rosetta Code
  • Коллекция компиляторов GNU / Liberty Basic (GLBCC)
  • LB Booster