Креветки
Разработано | Бенуа Минизини |
---|---|
Впервые появился | 1999 год |
Стабильная версия | 3.19.2
/ 28 мая 2024 г [1] |
ТЫ | Linux , FreeBSD ; версии для Мак ОС Х [2] и Хайку [3] составлен; Microsoft Windows через Cygwin и WSL |
Лицензия | GNU GPLv2 + |
Веб-сайт | http://gambas.sourceforge.net |
Под влиянием | |
Визуал Бейсик , Ява [4] |
Гамбас — название объектно-ориентированного диалекта языка программирования BASIC , а также интегрированной среды разработки . сопровождающей его [5] Разработан для работы в Linux и других Unix-подобных компьютерных операционных системах . [6] имя представляет аббревиатуру от G ambas Почти означает Базовый собой его рекурсивную . Гамбас — это также слово, обозначающее креветки на испанском , французском и португальском языках, от которого произошли логотипы проекта.
История
[ редактировать ]Gambas был разработан французским программистом Бенуа Минизини , его первый выпуск вышел в 1999 году. Бенуа вырос на языке BASIC и решил создать бесплатную среду разработки программного обеспечения, которая могла бы быстро и легко создавать программы с пользовательскими интерфейсами. [4]
Версии Gambas 1.x были впервые выпущены 4 января 2005 г. [7] и имел интерфейс, состоящий из нескольких различных отдельных окон для форм и диалогов IDE, аналогичный интерфейсу более ранних версий GIMP . Он также мог разрабатывать приложения только с использованием Qt и был больше ориентирован на разработку приложений для KDE . [8] Последним выпуском версий 1.x была Gambas 1.0.19.
Первая из версий 2.x была выпущена 2 января 2008 года, после трех-четырех лет разработки. В нем был серьезно переработан интерфейс, теперь все формы и функции встроены в одно окно, а также внесены некоторые изменения в синтаксис Gambas, хотя по большей части совместимость кода была сохранена. В нем были представлены основные обновления существующих компонентов Gambas, а также добавлены некоторые новые, например, новые компоненты, которые могли использовать GTK + или SDL для рисования или использовать ускорение OpenGL . Версии Gambas 2.x могут загружать и запускать проекты Gambas 1.x, но иногда возникают несовместимости; то же самое верно для версий Gambas 2.x–3.x, но не для версий Gambas 1.x–3.x.
Следующая крупная версия Gambas, версия 3.x, была выпущена 31 декабря 2011 года. [9] Тест 2015 года, опубликованный на веб-сайте Gambas, показал, что сценарии Gambas 3.8.90 во многих тестах в разной степени быстрее, чем Perl 5.20.2 и последняя на тот момент версия Python 2.7.10 . [10] Версия 3.16.0, выпущенная 20 апреля 2021 года, имела полную поддержку Wayland с использованием графических компонентов, а также паритет между компонентами Qt 5 и GTK 3. [11]
Функции
[ редактировать ]Gambas предназначен для создания графических программ с использованием Qt (в настоящее время Qt 4.x или 5.x, начиная с 3.8.0) или набора инструментов GTK (GTK 3.x также поддерживается, начиная с 3.6.0); Gambas IDE написан на Gambas. [12] [13] Gambas включает в себя конструктор графического интерфейса , помогающий создавать пользовательские интерфейсы в стиле , управляемом событиями . [14] но также может создавать командной строки , приложения [15] а также текстовые пользовательские интерфейсы с использованием набора инструментов ncurses . [16] Gambas Среда выполнения необходима для запуска исполняемых файлов.
Функциональность обеспечивается множеством компонентов, каждый из которых можно выбрать для предоставления дополнительных функций. [17] Рисование можно обеспечить либо через наборы инструментов Qt и GTK, с дополнительным компонентом, предназначенным для переключения между ними. [18] Рисование также может быть предоставлено через Simple DirectMedia Layer (первоначально версия 1.x, с добавлением версии 2.x начиная с версии 3.7.0), [19] который также можно использовать для воспроизведения звука через отдельный звуковой компонент ( OpenAL также добавлен компонент для спецификации ). Поддержка ускорения графического процессора доступна через компонент OpenGL , а также другое оборудование, функционально предоставляемое различными другими компонентами. [18] Существуют также компоненты для решения других специализированных задач. [17]
С помощью Gambas разработчики также могут использовать такие базы данных, как MySQL или PostgreSQL, создавать приложения KDE (Qt) и GNOME GTK с помощью DCOP , переводить программы Visual Basic в Gambas и запускать их под Linux, создавать сетевые решения и создавать веб-приложения CGI. В состав IDE также входит инструмент для создания установочных пакетов , поддерживающий GNU Autotools , slackpkg , pacman , RPM и debs (последние два затем адаптированы для конкретных дистрибутивов, таких как Fedora / RHEL / CentOS , Mageia , Mandriva , OpenSUSE и Debian , Убунту / Минт ). Поддержка сборки AppImage была реализована в версии 3.19.0.
Gambas начиная с версии 3.2 IDE имеет встроенный профилировщик и начал использовать технологию компиляции «точно в срок» .
Отличия от Visual Basic
[ редактировать ]Gambas предназначен для предоставления аналогичных возможностей разработки в Microsoft Visual Basic , но он не является бесплатным клоном популярной проприетарной программы. [20] [21] Автор Gambas ясно дает понять, что есть сходства с Visual Basic, такие как синтаксис программ BASIC и интегрированная среда разработки; Gambas с самого начала создавался как отдельная среда разработки и стремится улучшить формулу. [22] [23] [24]
Его объектная модель , каждый класс представлен в файле, а также архиватор для упаковки программы вдохновлены языком программирования Java . [25] Gambas призван стать альтернативой для бывших разработчиков Visual Basic, которые решили перейти на Linux. Есть и другие важные различия между Gambas и Visual Basic. Gambas Ярким примером является то, что индексы массивов всегда начинаются с 0, тогда как индексы Visual Basic могут начинаться с 0 или 1. [26] Gambas также поддерживает сокращения += и -=, которых нет в классическом Visual Basic. Однако обе эти функции являются функциями Visual Basic .NET .
Гамбас также пережил две другие попытки реализовать интерфейс в стиле Visual Basic для Qt и GTK в Linux: [27] [28] это HBasic [29] [30] и GNOME Basic, [31] [32] а также независимый от платформы KBasic /Basic для Qt. [33] [34] С тех пор IDE аналогичного стиля были разработаны и для FreeBASIC , а именно VisualFBEditor. [35] и QB64 , а именно InForm. [36]
Принятие
[ редактировать ]Несколько программ и множество примеров кода были написаны с использованием Gambas и для него. Freecode (ранее Freshmeat) перечислила 23 приложения, разработанных с использованием Gambas. [37] в то время как вики Гамбас перечислило 82; [38] на нескольких других специализированных сайтах перечислены приложения и код Gambas. [39] [40] [41] Приложение, написанное Gambas, под названием Gambas3 ShowCase, выступало в качестве центра программного обеспечения для загрузки или установки приложений Gambas 3. [42] С тех пор его выпуск был прекращен после запуска первой партии программного обеспечения Gambas Software Farm, интегрированной в IDE с версии 3.7.1, которая содержит около 500 приложений и демонстрационных версий. [43] [44] Для Gambas также существует несколько сайтов сообщества, включая форумы сообщества и списки рассылки. [45] Примечательным приложением, написанным на Gambas, является Xt7-player-mpv, интерфейс с графическим интерфейсом для проигрывателя mpv , содержащийся в ряде репозиториев программного обеспечения Linux. [46] [47] [48] Коллекция игр comisat — это ранние примеры видеоигр, написанных на языке гамбас. [49]
Доступность
[ редактировать ]Gambas включен в репозитории ряда дистрибутивов Linux , таких как Debian , Fedora , Slackware , Arch Linux , Mageia , PCLinuxOS , Linux Mint и Ubuntu . [50] Версия Gambas для Microsoft Windows запускалась в среде Cygwin , хотя эта версия была значительно менее протестирована, чем ее аналоги для Linux, и работала только с командной строкой; кооперативный Linux и его производные. Также использовались [51] а также специализированные виртуальные машины Linux . [52] [53] Независимый участник, Франсуа Галло, также работал над портированием Gambas 3.x на Mac OS X и FreeBSD на основе использования локальных версий системы X11 . [54] Над сборкой Haiku также работал Франсуа Револь. [55] Gambas из версии 3.2 может работать на Raspberry Pi и предлагает там компиляцию «точно в срок», начиная с версии 3.12. Его также можно запустить из облака с помощьюrollApp . [56]
В ноябре 2013 года обсуждалась будущая переносимость Gambas, при этом основными проблемами были перечислены функции ядра Linux , используемые в интерпретаторе, компоненты, использующие специальное программное обеспечение и библиотеки Linux, и, в первую очередь, связь с X11 в Qt, GTK и компонентах интеграции с рабочим столом. Однако отчасти из-за необходимости обновления до более новых наборов инструментов, таких как GTK 3 (добавлен начиная с 3.6.0) и Qt 5 (начиная с 3.8.0), будущие версии будут менее привязаны к X11, что сделает такие проекты, как Cygwin , или полностью нативными. версии на других платформах более возможны. Бенуа Минизини заявил, что он намеревался «инкапсулировать» конкретный код X11, чтобы помочь в любой попытке его замены. [57] с поддержкой X11 в компоненте рабочего стола, начиная с версии 3.6.0, он перемещен в отдельный компонент.
27 октября 2016 г. на главной странице был опубликован снимок экрана и руководство по настройке для полного запуска Gambas через Cygwin, включая большинство компонентов, графические наборы инструментов и полную среду IDE. [58] [59] Соответствующие патчи были добавлены начиная с версии 3.9.2. [60] Это заменяет предыдущий рекомендуемый метод использования freenx пересылки с сервера Linux . [61] Он также был успешно запущен с использованием подсистемы Windows для Linux . [62] [63] Обычно это делалось с помощью эмулятора X-терминала , такого как Mobaxterm в Windows. [64] поскольку WSL не поддерживала графику X11 напрямую до Windows 11 . [65]
Пример кода
[ редактировать ]«Привет, мир!» программа с графическим интерфейсом пользователя.
Public Sub Main()
Message("Hello, World!")
End
Программа, которая вычисляет 100-членный полином 500 000 раз и повторяет его десять раз (используется для сравнительного анализа ).
Private Sub Test(X As Float) As Float
Dim Mu As Float = 10.0
Dim Pu, Su As Float
Dim I, J, N As Integer
Dim aPoly As New Float[100]
N = 500000
For I = 0 To N - 1
For J = 0 To 99
Mu = (Mu + 2.0) / 2.0
aPoly[J] = Mu
Next
Su = 0.0
For J = 0 To 99
Su = X * Su + aPoly[J]
Next
Pu += Su
Next
Return Pu
End
Public Sub Main()
Dim I as Integer
For I = 1 To 10
Print Test(0.2)
Next
End
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Релизы · Гамбас/гамбас · GitLab» . Проверено 15 ноября 2023 г.
- ^ Галло, Франсуа (16 июня 2011 г.). «Гамбас 3 OS X» . ВсеБЕЙСИК . Проверено 28 сентября 2023 г.
- ^ djgpp (март 2021 г.). «Гамбас на Хайку?» . Хайку . Проверено 25 февраля 2024 г.
- ^ Jump up to: а б «Введение в документацию Gambas» . Сайт Гамбас . Проверено 9 октября 2017 г.
- ^ Хьюз, Мэтью (3 марта 2015 г.). «БАЗОВОЕ руководство по GAMBAS: все, что вам нужно знать» . СделатьUseOf . Проверено 11 февраля 2023 г.
- ^ Апфолд, Питер (8 сентября 2008 г.). «Гамбас — почти Visual Basic для Linux» . ФОССвайр . Проверено 7 мая 2011 г.
- ^ Кук (5 января 2005 г.). «Гамбас — БАЗОВАЯ среда разработки» . LWN.net . Проверено 25 февраля 2024 г.
- ^ «Gambas: быстрый Visual Basic для Linux» . КодФез. Архивировано из оригинала 9 сентября 2009 г. Проверено 4 апреля 2007 г.
- ^ «Gambas 3.0 для BASIC с исправлениями ошибок и безопасности» . Х. Проверено 5 января 2012 г.
- ^ «Бенчмаркинг» . Сайт Гамбас . Проверено 11 февраля 2018 г.
- ^ «Примечания к выпуску 3.16.0» . Сайт Гамбас . Проверено 11 февраля 2021 г.
- ^ «Часто задаваемые вопросы» . Документация Гамбаса . Проверено 17 ноября 2014 г.
- ^ Ларабель, Майкл (25 ноября 2013 г.). «Проект Гамбас: это похоже на Visual Basic в Linux» . Фороникс . Проверено 25 февраля 2024 г.
- ^ Апфолд, Питер (8 сентября 2008 г.). «Гамбас — почти Visual Basic для Linux» . ФОССвайр . Проверено 25 февраля 2024 г.
- ^ Рэтлифф-старший, Гэри Л. (октябрь 2008 г.). «Азбука компьютерных языков: БЕЙСИК» . PCLinuxOS Журнал . Проверено 25 февраля 2024 г.
- ^ Ди, Стив (27 марта 2017 г.). «Программирование Gambas cli: текстовый пользовательский интерфейс ncurses» . Капитан Богдит . Проверено 15 апреля 2023 г.
- ^ Jump up to: а б Фернандес, Дэниел (11 ноября 2004 г.). «По поводу Гамбаса» . ОСНовости . Проверено 7 мая 2011 г.
- ^ Jump up to: а б «Гамбас РАД» . Linux.co.uk. Архивировано из оригинала 29 августа 2011 г. Проверено 7 мая 2011 г.
- ^ «Почему новый компонент SDL?» . Список рассылки Гамбаса. Архивировано из оригинала 9 февраля 2015 г. Проверено 9 февраля 2015 г.
- ^ Аллен Холм, Джошуа (24 апреля 2014 г.). «Программирование на языке BASIC с помощью Gambas для начинающего программиста» . Opensource.com . Проверено 5 апреля 2023 г.
- ^ Акбар, Аде Мальсаса (28 января 2022 г.). «Альтернативы Visual Basic» . Ubuntu Buzz . Проверено 10 марта 2024 г.
- ^ Марк Александр Бейн (28 августа 2008 г.). «Гамбас — почти Visual Basic в Linux» . Люкс 101.
- ^ Фрэнк Видувилт (октябрь 2008 г.). «Программирование с помощью Gambas Basic IDE» . Журнал Linux Pro . Проверено 10 декабря 2011 г.
- ^ АВК электроника. «Физические вычисления в Linux: быстрый подход с использованием Gambas» . Проверено 18 февраля 2012 г.
- ^ Эммс, Стив (11 ноября 2023 г.). «Gambas – среда разработки и полноценная мощная платформа разработки» . LinuxСсылки . Проверено 25 февраля 2024 г.
- ^ «Отличия от Visual Basic» . Сайт Гамбас . Проверено 1 мая 2020 г.
- ^ «HBasic – перенос VB в Linux» . 06 декабря 2005 г. Проверено 26 сентября 2023 г.
- ^ «БЕЙСИК для Linux» . Фредшак . Проверено 26 сентября 2023 г.
- ^ «HBasic IDE и язык» . СоурсФордж . 16 января 2007 г. Проверено 26 сентября 2023 г.
- ^ Макоратти, Хосе Карлос. «ВБ для Linux» . Macoratti.net . Проверено 26 сентября 2023 г.
- ^ «GB — Базовый для GNOME» . ГНОМ . Архивировано из оригинала 5 февраля 2005 г. Проверено 26 сентября 2023 г.
- ^ Перр, Джон (1 января 2003 г.). «БАЗОВОЕ программирование в Unix» . ЛинуксФокус . Проверено 26 сентября 2023 г.
- ^ «KBasic: VB-подобная Rad/IDE для KDE» . KDE.news . 29 сентября 2000 года . Проверено 27 сентября 2023 г.
- ^ Трантер, Джефф (19 августа 2015 г.). «Использование Qt с альтернативными языками программирования. Часть 1» . Комплексные компьютерные решения . Проверено 25 февраля 2024 г.
- ^ Спид, Ричард (06 мая 2022 г.). «RAD Basic — Visual Basic 7, которого никогда не было — выпускает третью альфа-версию» . Регистр . Проверено 26 марта 2023 г.
FreeBASIC, который реализует многое из того, что было в Microsoft QuickBASIC (и имеет изящную IDE в виде VisualFBEditor).
- ^ Рогоз, Иван (07.04.2022). «Взрыв из прошлого — QBasic 4.5» . Барн Лаборатория . Проверено 26 сентября 2023 г.
QB64 поставляется с WYSIWYG-редактором IDE под названием InForm, который приближает его к повседневному использованию в качестве быстрого и несложного языка автоматизации для Windows.
- ^ "23 проекта с тегом "Гамбас" " . Свежее мясо . Архивировано из оригинала 28 сентября 2013 г. Проверено 28 октября 2012 г.
- ^ «Репозиторий приложений» . Гамбас. Архивировано из оригинала 26 октября 2019 г. Проверено 1 мая 2020 г.
- ^ «Веб-сайт GAMBAS BASIC» . ГАМБАС БЕЙСИК. Архивировано из оригинала 12 мая 2011 г. Проверено 7 мая 2011 г.
- ^ «Примеры Гамбаса» . Программное обеспечение Пига . Проверено 7 мая 2011 г.
- ^ Игры Гамбас - Libregamewiki
- ^ «Витрина Gambas3» . ГБВилли. Архивировано из оригинала 10 января 2016 г. Проверено 22 сентября 2013 г.
- ^ Ферма Гамбы
- ^ Протокол сервера фермы Gambas - Документация Gambas
- ^ «Списки рассылки и форумы» . Веб-сайт Гамбаса. Архивировано из оригинала 01 марта 2021 г. Проверено 4 апреля 2021 г.
- ^ xt7-player-mpv - linux-APPS.com
- ^ XT7-Player — лучший видеоплеер для Kubuntu/KDE — Справочник по Ubuntu
- ^ Xt7-Player — полнофункциональный графический интерфейс Mplayer — Web Upd8
- ^ «Обзор comisat Games Collection 0.5.2» . Никсбит . Проверено 8 февраля 2023 г.
- ^ Бус, Джаррет В. (18 августа 2014 г.). «Обзор GAMBAS» . Linux.org . Проверено 25 февраля 2024 г.
- ^ Гамбас в Windows - Альтернатива
- ^ Морган, Р. (29 июня 2014 г.). «Как запустить Gambas в Windows» . Журнал Гамбас . Архивировано из оригинала 10 декабря 2016 г.
- ^ Запуск программ Gambas в Windows - PigaLore, Piga Software Wiki
- ^ Галло, Франсуа. «Шаг вперед в Гамбасе!» . gambas-пользователь . Архивировано из оригинала 10 февраля 2017 г. Проверено 7 апреля 2023 г.
- ^ djgpp (март 2021 г.). «Гамбас на Хайку?» . Хайку . Проверено 25 февраля 2024 г.
- ^ Новая версия Gambas 3.15.2 уже доступна вrollApp.
- ^ Будущее Gambas или какие Gambas мы хотим. Архивировано 27 февраля 2014 г. в Wayback Machine , список рассылки Gambas.
- ^ Руководство по установке Cygwin — Gambas Wiki
- ^ Пакет gambas3 - веб-сайт Cygwin
- ^ Морган, Р. (29 июня 2014 г.). «Как запустить Gambas в Windows» . Журнал Гамбас . Архивировано из оригинала 8 апреля 2016 г.
- ^ Как запустить Gambas в Windows — Gambas Wiki
- ^ Дови, Джон. «Как запустить Gambas и приложения Gambas в Windows с помощью WSL» . Гамбас Вики . Проверено 25 февраля 2024 г.
- ^ Гамбас в Windows , Gambas-One
- ^ Васкес, Даниэль (9 января 2023 г.). «Как запустить Gambas в Ubuntu» . Эльнесон-Сантафе . Проверено 11 февраля 2023 г.
- ^ Windows 11 , Гамбас-Один
Дальнейшее чтение
[ редактировать ]- Марк Александр Бейн (28 апреля 2006 г.) An Introduction to Gambas , Linux Journal , выпуск 146, июнь 2006 г. (в печати)
- Марк Александр Бейн (3 декабря 2004 г.) Гамбас ускоряет разработку баз данных , Linux.com
- Марк Александр Бейн (12 декабря 2007 г.) Создание простых диаграмм с помощью Gambas 2.0 , Linux.com
- Фабиан Флорес Ваделл (ноябрь 2010 г.) Как программировать с Gambas
Внешние ссылки
[ редактировать ]- Официальный сайт
- Гамбас на GitLab
- Документация Гамбас
- Список рассылки Gambas. Архивировано 27 января 2018 г. на Wayback Machine.
- Gambas One , английское сообщество
- Gambas India , сообщество и репозиторий исходного кода
- БЕЙСИК-компиляторы
- Бейсик-интерпретаторы
- Семейство языков программирования BASIC
- Бесплатные интегрированные среды разработки
- Бесплатное программное обеспечение, написанное на BASIC.
- Интегрированные среды разработки Linux
- Инструменты программирования Linux
- Объектно-ориентированные языки программирования
- Процедурные языки программирования
- Языки программирования, созданные в 1999 году.
- Самостоятельное программное обеспечение
- Программное обеспечение, использующее Qt
- Программное обеспечение, использующее GTK
- Программное обеспечение, использующее лицензию GPL
- Разработчики пользовательского интерфейса