Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Blitz BASIC является язык программирования диалекта первых составителей Blitz, изобретенных Новой Зеландия основанного разработчика Марк Сиб. Синтаксис Blitz, заимствованный из BASIC , был разработан таким образом, чтобы его было легко освоить новички, впервые обучающиеся программированию. Эти языки ориентированы на программирование игр, но часто оказываются достаточно универсальными для использования в большинстве типов приложений. Язык Blitz развивался по мере выпуска новых продуктов, а в последних воплощениях предлагалась поддержка более продвинутых методов программирования, таких как объектно-ориентированная и многопоточность . Это привело к тому, что в последующие годы языки потеряли свое название BASIC. [1]

История [ править ]

Первая версия языка Blitz была создана для платформы Amiga и опубликована австралийской фирмой Memory and Storage Technology. Возвращаясь в Новую Зеландию , Blitz BASIC 2 был опубликован несколькими годами позже (примерно в 1993 году, согласно этому пресс-релизу [2] ) Acid Software (местный издатель игр для Amiga). С тех пор компиляторы Blitz были выпущены на нескольких платформах . После того, как Amiga перестала быть коммерчески жизнеспособной платформой, исходный код Blitz BASIC 2 был передан сообществу Amiga. Разработка продолжается и по сей день под названием AmiBlitz. [3]

BlitzBasic [ править ]

Idigicon опубликовал BlitzBasic для Microsoft Windows в октябре 2000 года. Этот язык включал встроенный API для выполнения основных операций с 2D-графикой и звуком. После выпуска Blitz3D BlitzBasic часто синонимично называют Blitz2D.

Признание BlitzBasic возросло, когда ограниченный диапазон «бесплатных» версий был распространен в популярных британских компьютерных журналах, таких как PC Format . Это привело к юридическому спору между разработчиком и издателем, который в конечном итоге разрешился мирным путем.

BlitzPlus [ править ]

В феврале 2003 года Blitz Research Ltd. выпустила BlitzPlus также для Microsoft Windows. В нем отсутствовал 3D-движок Blitz3D, но он привнес новые функции в 2D-часть языка, реализовав ограниченную поддержку элементов управления Microsoft Windows для создания собственных графических интерфейсов . Была также расширена обратная совместимость 2D-движка, что позволило запускать скомпилированные игры и приложения BlitzPlus в системах, которые могли иметь только DirectX 1.

BlitzMax [ править ]

Первый компилятор BlitzMax был выпущен в декабре 2004 года для Mac OS X . Это сделало его первым диалектом Blitz, который можно было скомпилировать на платформах * nix. Впоследствии в мае 2005 года были выпущены компиляторы для Microsoft Windows и Linux . BlitzMax внесла самые большие изменения в структуру языка в современный ассортимент продуктов Blitz, расширив систему типов, включив в нее объектно-ориентированные концепции и изменив графический API для лучшего соответствия OpenGL . BlitzMax был также первым из языков Blitz, который внутренне представлял строки с использованием UCS-2 , что позволяло осуществлять встроенную поддержку строковых литералов, состоящих из символов, отличных от ASCII .

Не зависящий от платформы набор команд BlitzMax позволяет разработчикам компилировать и запускать исходный код на нескольких платформах. Однако официальный компилятор и цепочка сборки будут генерировать двоичные файлы только для той платформы, на которой они выполняются. Неофициально пользователи смогли получить Linux и Mac OS X для кросс-компиляции с платформой Windows.

BlitzMax также является первой модульной версией языков Blitz, улучшающей расширяемость набора команд. Кроме того, все стандартные модули, поставляемые с компилятором, имеют открытый исходный код и поэтому могут быть изменены и перекомпилированы программистом при необходимости. Официальный кроссплатформенный GUI- модуль BlitzMax (известный как MaxGUI) позволяет разработчикам писать графические интерфейсы для своих приложений в Linux ( FLTK ), Mac ( Cocoa ) и Windows. Различные пользовательские модули расширяют возможности использования языка, обертывая такие библиотеки, как wxWidgets , Cairo и Fontconfig.а также выбор модулей базы данных. Также доступен выбор сторонних 3D-модулей, а именно MiniB3D [4] - движок OpenGL с открытым исходным кодом, который можно скомпилировать и использовать на всех трех поддерживаемых платформах BlitzMax.

В октябре 2007 года был выпущен BlitzMax 1.26, в который был добавлен модуль отражения . [5] BlitzMax 1.32 поставляет новые модули потоковой передачи и сценариев Lua, а большинство стандартных библиотечных функций были обновлены так, чтобы они были совместимы с Unicode . [6]

Blitz3D SDK [ править ]

Blitz3D SDK - это движок трехмерной графики, основанный на движке Blitz3D. Он был продан для использования с C ++ , C # , BlitzMax и PureBasic , однако он также мог использоваться с другими языками, которые следуют совместимым соглашениям о вызовах.

Модуль Max3D [ править ]

В 2008 году исходный код Max3D - кроссплатформенного 3D-движка на C ++ - был выпущен под лицензией BSD . Этот движок ориентирован на OpenGL, но имеет абстрактный бэкэнд для других графических драйверов (таких как DirectX) и использует несколько библиотек с открытым исходным кодом, а именно Assimp , Boost и ODE .

Несмотря на волнение в сообществе Blitz о том, что Max3D является долгожданным преемником Blitz3D, интерес и поддержка прекратились вскоре после того, как был выпущен исходный код, и в конечном итоге разработка остановилась. Нет никаких указаний на то, что Blitz Research снова возьмется за проект.

Выпуск с открытым исходным кодом [ править ]

BlitzPlus был выпущен с открытым исходным кодом 28 апреля 2014 года под лицензией zlib на GitHub . [7] [8] Blitz3D последовал вскоре после этого и был выпущен как открытый исходный код 3 августа 2014 года. [9] [10] BlitzMax был позже выпущен как открытый исходный код 21 сентября 2015 года. [11]

Примеры [ править ]

Программа Hello World, которая печатает на экране, ждет, пока будет нажата клавиша, а затем завершает свою работу:

Распечатать  «Hello World»  ; Печать на экран. WaitKey ()  ; Приостанавливает выполнение до нажатия клавиши. Конец  ; Завершает программу.

Программа, демонстрирующая объявление переменных с использованием трех основных типов данных (строки , целые числа и числа с плавающей запятой ) и вывод их на экран:

name $  =  "Джон"  ; Создайте строковую переменную ($) age  =  36  ; Создать целочисленную переменную (без суффикса) temperature #  =  27,3  ; Создать переменную типа float (#)print  "Меня зовут"  +  имя $  +  "и мне"  +  возраст  +  "лет." print  "Сегодня температура"  +  температура #  +  "градусы".Ключ ожидания ()  ; Приостанавливает выполнение до нажатия клавиши. Конец  ; Завершает программу.


Программа, которая создает оконное приложение, которое показывает текущее время в двоичном и десятичном формате. См. Ниже версии BlitzMax и BlitzBasic:

Программное обеспечение, написанное с использованием BlitzBasic [ править ]

  • Эшалон: Книга I - BlitzMax
  • Эшалон: Книга II - BlitzMax
  • Пасьянс Fairway - BlitzMax
  • GridWars - BlitzMax
  • TVTower (клон MadTV с открытым исходным кодом) - BlitzMax
  • Утконос - Blitz2D (порт Mac, BlitzMax)
  • SCP - Нарушение условий содержания - Blitz3D
  • Worms - первоначально назывался Total Wormage и был разработан в Blitz Basic на Amiga до его коммерческого выпуска [12]

Наследие [ править ]

В 2011 году BRL выпустила новый кроссплатформенный язык программирования под названием Monkey и свой первый официальный модуль под названием Mojo. Monkey имеет синтаксис, аналогичный BlitzMax, но вместо компиляции непосредственно в код сборки он переводит исходные файлы Monkey непосредственно в исходный код для выбранного языка, фреймворка или платформы, например Windows, Mac OS X , iOS , Android, HTML5 и Adobe Flash. .

Разработка Monkey X была остановлена ​​в пользу Monkey 2, обновленной версии языка Марка Сибли.

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

  1. ^ "Официальный сайт Blitz" . www.blitzbasic.com . Архивировано из оригинала 3 июня 2017 года.
  2. ^ AmigaReport http://www.amigareport.com/ar115/p1-5.html . Проверено 30 апреля 2020 . Отсутствует или пусто |title=( справка )
  3. ^ https://github.com/AmiBlitz
  4. ^ "Блиц Новости" . www.blitzbasic.com . Архивировано из оригинального 26 января 2008 года . Проверено 12 декабря 2007 года .
  5. ^ "Доступно обновление BlitzMax 1.26!" . www.blitzbasic.com . Архивировано из оригинального 26 мая 2011 года . Проверено 11 января 2011 года .
  6. ^ BlitzMax V132 для Windows и MacIntel сейчас вверх! Архивировано 26 мая 2011 года в Wayback Machine на blitzbasic.com.
  7. ^ BlitzPlus Исходный код выхода Archived 16 июля 2016 года в Wayback Machine по simonh (2014-04-29)
  8. ^ Blitz3D с открытым исходным кодом! Архивировано 6 сентября 2016 года в Wayback Machine на форумах Blitz3D, автором (2014).
  9. ^ Blitz3D теперь бесплатно и с открытым исходным кодом! Архивировано 16 июля 2016 года в Wayback Machine, автором simonh (2014-08-03).
  10. ^ blitz3d на GitHub
  11. ^ blitzmax на GitHub
  12. ^ IGN. Превью Worms Blast Архивировано 18 февраля 2007 года на Wayback Machine на ign.com.

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

  • Подсайт Blitz Research на itch.io (BlitzPlus, Blitz 3D, Monkey X, Monkey 2)
    • Подсайт Monkey X (открытый исходный код)
    • Обезьяна 2 подсайта
  • блиц-исследование (Марк Сибли) на GitHub (BlitzPlus, BlitzMax, Blitz3D, Monkey, BlitzMax, Blitz3D для MSVC-CE 2017)
  • Веб-сайт Blitz Research (архивировано 3 июня 2017 г.)
  • Веб-сайт Monkey X (заархивировано 15 июля 2017 г.)