Gambas

Поделись знанием:
Перейти к: навигация, поиск
Gambas
Класс языка:

объектно-ориентированный,
компонентно-ориентированный

Тип исполнения:

компилируемый,
интерпретируемый

Появился в:

1999

Автор:

Бенуа Минисини

Выпуск:

3.6.2[1] (12 ноября 2014[2])

Испытал влияние:

Visual Basic, Java[3]

Лицензия:

GNU GPL

Сайт:

[gambas.sourceforge.net/ sourceforge.net]

Gambas — объектно-ориентированный диалект языка BASIC, дополненный интегрированной средой разработки и работающий на GNU/Linux и других UNIX-подобных операционных системах. Он представляет собой средство разработки программного обеспечения, аналогичное Visual Basic в плане разработки программ на Basic. Gambas задумывался как альтернатива для Visual Basic разработчиков, решивших перейти на Linux.

Gambas — рекурсивный акроним от англ. Gambas Almost Means BASic, что в дословном русском переводе выглядит как «Gambas Почти Означает Basic», а более привычно русскому уху: «Gambas — почти Basic». Само слово Gambas с испанского переводится как креветка, которая собственно и изображена на логотипе.

Разработка Gambas была начата в Париже Бенуа Минисини в 1999 году. Gambas является свободным программным обеспечением и выпущен под лицензией GNU General Public License. Один из основных компонентов Gambas, позволяющий создавать графические приложения gb.qt использует библиотеку Qt, распространяемую под лицензией LGPL.





Особенности

  • Работа с базами данных, такими как MySQL, PostgreSQL, Firebird, SQLite и ODBC.
  • Создание приложения KDE с DCOP.
  • Использование 3D API OpenGL.
  • Портирование программ с Visual Basic на Gambas.
  • Возможность создавать сетевые решения.
  • Создание инсталляционных пакетов для основных дистрибутивов — RPM, deb

Компоненты

Gambas содержит множество компонентов, расширяющих функциональные возможности языка. Большинство компонентов написаны автором, но есть также предоставленные сообществом.

  • gb — Родной класс Gambas, обеспечивающий базовые возможности
  • gb.chart — Позволяет применять в программах диаграммы и графики
  • gb.compress — функции сжатия и распаковки
  • gb.crypt — шифрование MD5/DES
  • gb.db — позволяет Gambas работать с различными СУБД
  • gb.db.mysql — использование специфических функций MySQL
  • gb.db.odbc — использование специфических функций ODBC
  • gb.db.postgresql — использование специфических функций PostgreSQL
  • gb.db.sqlite3 — использование специфических функций SQLite
  • gb.debug — функции отладки
  • gb.desktop — использование шаблонов проекта Portland
  • gb.gtk — инструменты для создания приложений GTK
  • gb.qt — инструменты для создания приложений qt
  • gb.image — функции обработки изображений
  • gb.net — сетевые функции
  • gb.net.curl — расширение сетевых функций, использование curl.
  • gb.smtp — SMTP-клиент
  • gb.qt.opengl — OpenGL посредством инструментария qt
  • gb.report — дизайнер отчетов
  • gb.sdl — функции SDL в Gambas
  • gb.sdl.sound — звуковые функции библиотек SDL
  • gb.settings — управление настройками приложений. Облегчает управление файлами конфигурации
  • gb.v4l — захват видео с различных устройств — ТВ-тюнеров и веб-камер.
  • gb.vb — совместимость с VisualBasic
  • gb.xml — поддержка XML
  • gb.xml.rpc — поддержка функций XML-RPC
  • gb.xslt — возможность использования функций libxslt
  • gb.web — Позволяет использовать Gambas как серверный язык.

Gambas предназначен для создания графических приложений с помощью инструментария Qt3, GTK а также кросс-проекта Portland. Возможно использование Gambas для создания CGI приложений. Среда разработки Gambas IDE написана с использованием Gambas. Gambas включает в себя GUI дизайнер для оказания помощи в создании пользовательских интерфейсов и Менеджер БД, упрощающий работу с базами данных.

Пример программы на языке Gambas

Простая программа Hello World на Gambas

PUBLIC SUB Main()
  PRINT "Hello world !"
END

Различия Gambas и Visual Basic

Gambas создан для лёгкого перехода с Visual Basic’а, однако существуют важные различия между этими двумя языками.

Один из примеров: как Gambas нумерует массивы начинающиеся с 0. При определении массива из n элементов, Gambas создаёт массив начинающийся c 0 и заканчивается n-1, тогда как массив на Visual Basic может начинаться с 0 или 1, и заканчивается всегда n элементом.

Разработка

В настоящее время GUI работает стабильно вне зависимости использования компонентов Qt3 или GTK. Для запуска исполняемых файлов требуется среда выполнения Gambas.

Gambas включён во многие репозитории операционных систем. Полноценной версии Gambas для Windows не существует. Стабильную версию компилятора и интерпретатора Gambas удалось скомпилировать при помощи cygwin, но компиляция компонент не удалась, в результате чего в Windows могут запускаться только консольные (работающие в текстовом режиме) Gambas-программы.

Напишите отзыв о статье "Gambas"

Примечания

  1. [gambas.sourceforge.net/en/main.html Gambas News]
  2. [sourceforge.net/projects/gambas/files/ Репозиторий Gambas]
  3. См. файл README в архиве с исходными кодами Gambas.

Литература

  • John W Rittinghouse. A Begginners Guide for Gambas. — 2005. — 364 с. (англ.)

Ссылки

Официальные ресурсы Gambas
  • [gambas.sourceforge.net/ Оф. сайт Gambas]
Русскоязычные ресурсы Gambas
  • [wiki.linuxformat.ru/wiki/LXF71:Gambas Цикл уроков] в журнале Linux Format.
  • [gambas.pro/ www.gambas.pro] Русскоязычный портал (блог и форум).

Отрывок, характеризующий Gambas

Из всех этих партий, в то самое время, как князь Андрей приехал к армии, собралась еще одна, девятая партия, начинавшая поднимать свой голос. Это была партия людей старых, разумных, государственно опытных и умевших, не разделяя ни одного из противоречащих мнений, отвлеченно посмотреть на все, что делалось при штабе главной квартиры, и обдумать средства к выходу из этой неопределенности, нерешительности, запутанности и слабости.
Люди этой партии говорили и думали, что все дурное происходит преимущественно от присутствия государя с военным двором при армии; что в армию перенесена та неопределенная, условная и колеблющаяся шаткость отношений, которая удобна при дворе, но вредна в армии; что государю нужно царствовать, а не управлять войском; что единственный выход из этого положения есть отъезд государя с его двором из армии; что одно присутствие государя парализует пятьдесят тысяч войска, нужных для обеспечения его личной безопасности; что самый плохой, но независимый главнокомандующий будет лучше самого лучшего, но связанного присутствием и властью государя.
В то самое время как князь Андрей жил без дела при Дриссе, Шишков, государственный секретарь, бывший одним из главных представителей этой партии, написал государю письмо, которое согласились подписать Балашев и Аракчеев. В письме этом, пользуясь данным ему от государя позволением рассуждать об общем ходе дел, он почтительно и под предлогом необходимости для государя воодушевить к войне народ в столице, предлагал государю оставить войско.
Одушевление государем народа и воззвание к нему для защиты отечества – то самое (насколько оно произведено было личным присутствием государя в Москве) одушевление народа, которое было главной причиной торжества России, было представлено государю и принято им как предлог для оставления армии.

Х
Письмо это еще не было подано государю, когда Барклай за обедом передал Болконскому, что государю лично угодно видеть князя Андрея, для того чтобы расспросить его о Турции, и что князь Андрей имеет явиться в квартиру Бенигсена в шесть часов вечера.
В этот же день в квартире государя было получено известие о новом движении Наполеона, могущем быть опасным для армии, – известие, впоследствии оказавшееся несправедливым. И в это же утро полковник Мишо, объезжая с государем дрисские укрепления, доказывал государю, что укрепленный лагерь этот, устроенный Пфулем и считавшийся до сих пор chef d'?uvr'ом тактики, долженствующим погубить Наполеона, – что лагерь этот есть бессмыслица и погибель русской армии.
Князь Андрей приехал в квартиру генерала Бенигсена, занимавшего небольшой помещичий дом на самом берегу реки. Ни Бенигсена, ни государя не было там, но Чернышев, флигель адъютант государя, принял Болконского и объявил ему, что государь поехал с генералом Бенигсеном и с маркизом Паулучи другой раз в нынешний день для объезда укреплений Дрисского лагеря, в удобности которого начинали сильно сомневаться.
Чернышев сидел с книгой французского романа у окна первой комнаты. Комната эта, вероятно, была прежде залой; в ней еще стоял орган, на который навалены были какие то ковры, и в одном углу стояла складная кровать адъютанта Бенигсена. Этот адъютант был тут. Он, видно, замученный пирушкой или делом, сидел на свернутой постеле и дремал. Из залы вели две двери: одна прямо в бывшую гостиную, другая направо в кабинет. Из первой двери слышались голоса разговаривающих по немецки и изредка по французски. Там, в бывшей гостиной, были собраны, по желанию государя, не военный совет (государь любил неопределенность), но некоторые лица, которых мнение о предстоящих затруднениях он желал знать. Это не был военный совет, но как бы совет избранных для уяснения некоторых вопросов лично для государя. На этот полусовет были приглашены: шведский генерал Армфельд, генерал адъютант Вольцоген, Винцингероде, которого Наполеон называл беглым французским подданным, Мишо, Толь, вовсе не военный человек – граф Штейн и, наконец, сам Пфуль, который, как слышал князь Андрей, был la cheville ouvriere [основою] всего дела. Князь Андрей имел случай хорошо рассмотреть его, так как Пфуль вскоре после него приехал и прошел в гостиную, остановившись на минуту поговорить с Чернышевым.
Пфуль с первого взгляда, в своем русском генеральском дурно сшитом мундире, который нескладно, как на наряженном, сидел на нем, показался князю Андрею как будто знакомым, хотя он никогда не видал его. В нем был и Вейротер, и Мак, и Шмидт, и много других немецких теоретиков генералов, которых князю Андрею удалось видеть в 1805 м году; но он был типичнее всех их. Такого немца теоретика, соединявшего в себе все, что было в тех немцах, еще никогда не видал князь Андрей.
Пфуль был невысок ростом, очень худ, но ширококост, грубого, здорового сложения, с широким тазом и костлявыми лопатками. Лицо у него было очень морщинисто, с глубоко вставленными глазами. Волоса его спереди у висков, очевидно, торопливо были приглажены щеткой, сзади наивно торчали кисточками. Он, беспокойно и сердито оглядываясь, вошел в комнату, как будто он всего боялся в большой комнате, куда он вошел. Он, неловким движением придерживая шпагу, обратился к Чернышеву, спрашивая по немецки, где государь. Ему, видно, как можно скорее хотелось пройти комнаты, окончить поклоны и приветствия и сесть за дело перед картой, где он чувствовал себя на месте. Он поспешно кивал головой на слова Чернышева и иронически улыбался, слушая его слова о том, что государь осматривает укрепления, которые он, сам Пфуль, заложил по своей теории. Он что то басисто и круто, как говорят самоуверенные немцы, проворчал про себя: Dummkopf… или: zu Grunde die ganze Geschichte… или: s'wird was gescheites d'raus werden… [глупости… к черту все дело… (нем.) ] Князь Андрей не расслышал и хотел пройти, но Чернышев познакомил князя Андрея с Пфулем, заметив, что князь Андрей приехал из Турции, где так счастливо кончена война. Пфуль чуть взглянул не столько на князя Андрея, сколько через него, и проговорил смеясь: «Da muss ein schoner taktischcr Krieg gewesen sein». [«То то, должно быть, правильно тактическая была война.» (нем.) ] – И, засмеявшись презрительно, прошел в комнату, из которой слышались голоса.