Часто задаваемые вопросы

Почему вы назвали проект "Gambas"?

Кажется, свободные проекты часто называют именами животных, особенно языки программирования: Python, Camel, Bonobo и т.д.

И я хотел получить рекурсивный акроним со словом "Basic" в нем. Так что, Gambas Почти Означает BASic!

Совместим ли Gambas с Visual Basic?

Нет, и никогда не будет!

К счастью, есть много схожего, но не ожидайте, что можете, взяв ваш старый Visual Basic код, запустить его в Gambas без каких-либо изменений.

Вы можете обратиться к странице "проблемы", чтобы найти некоторые примеры различий между этими двумя языками.

См. также: Differences from VB

Будет ли Gambas совместим с Java или .Net?

Боюсь, никогда. Есть множество соображений, хороших и плохих:

Является ли Gambas мультиплатформенным?

В будущем, я надеюсь, будет простой ответ: "да!". :)

Сейчас же, есть сообщения от людей, компилировавших Gambas под BSD и Win32/Cygwin.

Почему вы не соединили ваш проект с...

...KBasic?

(Это сейчас невозможно смешать обе программы, поскольку KBasic становится патентованным ПО.)

Я думаю, есть слишком много технических различий между KBasic проектом и моим, чтобы объединять проекты.

KBasic, кажется, базируется на KDE, и KDE только. Мой собственный интерпретатор не зависит от какого-либо инструментария или графического окружения. Интерпретатор Gambas - это только текстовая программа. Графическая часть приходит с компонентами.

В данный момент есть только один графический компонент, Qt. Но в будущем я планирую написать Gtk+ компонент, так что программы смогут в равной мере использовать Qt или Gtk+, или любой другой инструмент, который имеет свой собственный компонент.

Более того, окружение разработки (инструмент, который вы используете при написании Gambas программ) написано в Gambas. Окружение разработки KBasic, похоже, написано на C++, не в KBasic. Это большая разница в разработке.

Вот, каковы были причины, почему я думаю мы не могли бы легко объединиться... Такова жизнь!

...HBasic?

Примерно, то же самое, что и с KBasic (Я думаю)

...ParrotBasic?

Проблема в том, что интерпретатор Gambas очень компактен для возможностей языка, которые были мне нужны.

Parrot особенности имеют очень большие отличия от Gambas. Это не только предмет интерпретации bytecode : имеет быть проблема счетчика ссылок против сборщика мусора. Что случится с системой управления компонентами ? С обслуживанием наследования классов ? С interpreter hooks ? И так далее...

Портировать интерпретатор Gambas в Parrot, если и не плохо, что не очевидно, это объемная задача в любом случае. Этого не произойдет в ближайшие годы!

Как мне компилировать, создать и установить Gambas?

Краткий вариант:

  tar xzvf gambas-x.xx.tar.gz
cd gambas-x.xx
./configure # or ./configure --disable-db-component
make

make install

См. также long version.

Как удалить Gambas?

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

Если вы устанавливали из исходников под root , только удалите директорию установки. Например, если вы установили Gambas в /opt/gambas, что происходит по умолчанию, только выполните под root :

  $ rm -rf /opt/gambas

Могу я получить доступ к моим PostgreSQL, MySQL и т.д. базам данных с Gambas?

ДА ! Вы можете сейчас получить доступ к PostgreSQL и MySQL базам данных, и есть драйвер SQlite в бета версии. Если вы хотите разработать драйвер для других систем баз данных, сообщите мне. Добро пожаловать!

Я C/C++ программист. Как я могу помочь вам?

Добро пожаловать!

Сначала вам нужно прописаться в developer mailing-list и представиться. 

Затем вы должны попытаться понять архитектуру Gambas: компилятор, интерпретатор, окружение разработки, компоненты, и как они уживаются вместе.

Затем вы можете прочитать документацию для разработчиков на Wiki: это пояснит вам how to program components.

Вы найдете пример компонента, называнного gb.example , который есть полный компонент. Читая исходник этого примера, вы поймете, как написать компонент.

Если вы хотите написать драйвер для компонента базы данных, драйвер PostgreSQL прокоменнтирован, так что вы можете много легче узнать, как это сделать.

Конечно, я отвечу на любые вопросы и помогу вам, как смогу, предполагая, что вы имеете больше опыта, чем год изучения в школе C/C++ :-)

Я не C/C++ программист. Как я могу помочь вам?

Приветствуется любая помощь в следующих задачах. Никакого искусства программирования на C/C++ не требуется!

Могу ли я разрабатывать коммерческое ПО на Gambas?

Да, можете. Но, если вы используете QT GUI компонент, то есть ваша программа графическая, тогда вы должны purchase QT лицензию. Иначе, сделайте ваше ПО free as in freedom :-)

Будете ли вы портировать Gambas в Windows ?

Я нет, но будем надеяться, что кто-то попытается это сделать.

Я уже компилировал исходники Gambas под Cygwin в прошлом, но не достаточно успешно.

Заметьте, что есть множество должного портироваться: управление процессом, Qt компонент и т.д. Это огромная работа.


-- NelsonFerraz - 04 Jul 2003

-- BrandonBergren - 14 Jul 2003 - Fixed some English and other minor problems.

-- BenoitMinisini - 10 Aug 2003 - Answered the Parrot question, and fix other answers.

-- NelsonFerraz - 25 Dec 2003 - Is Gambas multiplatform? and HBasic questions.

-- DanielCampos - 01 Oct 2004 - KBasic is proprietary software now, unable to mix both programs.