Введение

Про Gambas

Этот проект имел целью создание графического окружения разработки, базируемое на интерпретаторе Basic, так что мы имеем язык похожий на Visual Basic™ под Linux™.

Феноменальное количество ошибок и несообразностей, что сделали Visual Basic таким восхитительным, убедили меня начать этот проект ;-)

Кажется, Microsoft осознает низкое качество совего языка, поскольку VB .Net не поддерживает совместимость со старыми версиями Visual Basic. Я думаю, они выбросили исходный код интерпретатора Visual Basic, и что VB .Net - это только исполняемый .Net компилятор, чей синтаксис напоминает Visual Basic. Что ж, это только мое собственное мнение... ;-)

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

Я взял от Visual Basic, что нашел полезным: язык Basic, окружение разработки и легкость быстрого создания программ с пользовательским интерфейсом.

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

В настоящий момент я рассматриваю "Help" программирвания. Ядро Gambas сейчас стабильно, но не слишком хорошо документировано. Есть примеры компонент, чтобы помочь людям понять, как писать компоненты.

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

Особенности

Я попытаюсь обрисовать основные особенности Gambas и что отличает его от других языков.

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

Gambas сделан из следующих программ :

Окружение разработки написано на самом Gambas, так что я могу показать возможности языка. И это весьма полезно для отладки !

Каковы особенности, отличающие Gambas от других языков ?

  1. Проект Gambas сохраняется в одной директории. Архиватор преобразует структуру директории проекта в один единственный исполняемый файл.
  2. Компиляция проекта требует только компиляции модифицированных классов. Каждая внешняя ссылка класса разрешается динамически во время выполния.
  3. Gambas имеет архитектуру компонент, которая позволяет расширять язык. Любой может написать компоненты, как общие библиотеки, которые динамически добавляют новые родные классы в интерпретатор. Архитектура компонент будет свободно документироваться так скоро, как возможно.
  4. По умолчанию интерпретатор Gambas - это только текстовая программа. Архитектура компонент использовалась для написания графического интерфейса пользователя, как части языка.
  5. Поскольку графический интерфейс пользователя реализован как компонент, Gambas получает возможность не зависеть от каких либо инструментальных средств ! Вы сможете написать программу и выбрать инструментарий позже : GTK+, Qt и т.д.
  6. Я решил начать реализацию графического интерфейса пользователя с инструмента Qt, поскольку так мне было проще. Я напишу GTK+ компонент, который получит почти такой же интерфейс, как и Qt компонент. Я думаю, GTK+ 2.0 будет иметь достаточно возможностей, чтобы быть таким же мощным, как Qt 3.0.
  7. Любое окно или диалоговое окно могут быть использованы подобно управлению. Вы не можете делать такие вещи с Visual Basic без использования ActiveX (будьте здоровы ! Я знаю, я тоже слегка аллегрик ;-) ).
  8. Gambas проекты легко переводимы, на любой язык. Хорошо, чтобы быть до конца честным, я не вполне уверен в арабском, японском и китайском...

Ожидания

Настоящее

Gambas пока не завершен, но он начинает быть используемым, и, возможно, полезным. Вот список "to do", который обрисовывает, что должно быть сделано до получения стабильного выпуска :

Будущее

В очень отдаленном будущем (вам не слышится тема Star Trek ?) запланировано много улучшений. Некоторые необходимы, другие в зависимости от моего времени и моих многочисленных занятий !

Хорошо... Думаю пора остановиться в мечтах и вернуться к кодированию...

Обо мне

Добро вам пожаловать, любопытные ! Вы хотите знать почти все обо мне...

Меня зовут Benoît Minisini. Мне тридцать, я француз, живущий в пригороде Парижа. Программирование моя единственная страсть с тех пор, как мне исполнилось двеннадцать, а теперь моя работа в течение шести лет. Эта страсть началась с языка Basic на CPC Amstrad 464, и позже на Atari 520 STE. Конечно, теперь я использую много других языков, но никогда не забывал, что я учился и много сделал на Basic.

Я всегда стремился писать языки, компиляторы, ассемблеры и интерпретаторы. Я написал Z80 ассемблер на Amstrad и интерпретируемый язык, который расходовал всю его память.

Позже, во время моего обучения в E.P.I.T.A., я написал интерпретатор Lisp под Windows 3.1. В течение шести месяцев я узнавал Windows, его идиотскую модель памяти, компилятор Microsoft C, и его бесчисленные ошибки.

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

Спасибо моим боссам, у меня работа на пол-дня, так что я смог активно работать над Gambas в течение трех лет.

Но у меня есть и другие пристрастия, отнимающие много времени. Это музыка - долгое время я играю на флейте - а теперь театр... Я начал изучать актерское мастерство на "Cours Simon" в Париже с сентября 2002, и это отнимает у меня более 16 часов в неделю.

Итак, разработка Gambas несколько замедляется :-( Но не беспокойтесь, я не заброшу Gambas, что бы ни случилось в следующие несколько месяцев.

Надеюсь, ваше любопытство удовлетворено... :-)

-- NelsonFerraz - 04 Jul 2003