Jump to content

Свобода БЕЙСИК

Свобода БЕЙСИК
Парадигма Управляемый событиями , процедурный
Разработано Карл Гундель
Разработчик Шоптоки Системы
Впервые появился 1992 год ; 32 года назад ( 1992 )
Стабильная версия
4.5.1 / 31 мая 2017 г .; 7 лет назад ( 31 мая 2017 )
Дисциплина набора текста Динамичный , слабый
ТЫ Microsoft Windows ; Linux в неизданной Liberty Basic 5
Лицензия собственный
Расширения имен файлов .bas, .fr3
Веб-сайт свободаосновная
Основные реализации
Запустите BASIC, GLBCC
Под влиянием
QuickBASIC
Под влиянием
Просто БЕЙСИК , Леопард
Liberty Basic v4.03 IDE Система

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

Предыстория [ править ]

Liberty BASIC был написан Карлом «Gunner» Gundel и опубликован в первом выпуске его компанией Shoptalk Systems в 1991 году. С тех пор он постоянно развивался. Последнее опубликованное обновление к программному обеспечению версии 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 открывает связь с устройством, которым может быть дисковый файл, окно, динамическая библиотека или последовательный порт связи».

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.

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

  1. ^ «Либерти БЕЙСИК Ньюс» . www.libertybasic.com . Проверено 25 января 2019 г.

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9db678eac80caa2a144f63ef509fa237__1717112160
URL1:https://arc.ask3.ru/arc/aa/9d/37/9db678eac80caa2a144f63ef509fa237.html
Заголовок, (Title) документа по адресу, URL1:
Liberty BASIC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)