Translations: ArticleDevX in Portuguese

Gambas дружелюбен к пишущим на VB, используя Linux


"Феноменальное количество ошибок и несообразностей, делающих Visual Basic столь очаровательным, подвигли меня начать этот проект". Вот как Benoit Minisini, 30-летний француз, живущий в пригороде Парижа, начинает описание своего проекта, названного Gambas.

Gambas - это замена VB для Linux. Не клон, поскольку Benoit'у никогда не нравилась реализация Microsoft: "Кажется, Microsoft осознает низкое качество ее языка, поскольку VB.Net не поддерживает обратной совместимости с предыдущими версиями Visual Basic. Я думаю, они выбросили исходный код интерпретатора Visual Basic, и что VB .Net - это только .Net компилятор реального времени, чей синтаксис похож на Visual Basic."

Так что, Gambas предназначен быть лучше Visual Basic.

Benoit взял от VB то, что посчитал действительно полезным: язык BASIC и легкий IDE. Он также взял несколько идей от Java, создав легкий и мощный язык. Насколько мощный? Полный IDE был создан в самом Gambas, а индикатор уровня его готовности даже не достигал 1.0.

В этой статье мы постараемся описать текущий статус Gambas, и как он соотносится с VB. Мы сравним снимки экрана и исходный код, так что вы можете увидеть полную картину.

2003-06-25.png

Фон

Gambas - это не первая попытка с наскока создать замену VB для Linux, но она ближе всего к завершенности.

Фактически? было много других незаконченных попыток создать клон VB для Linux: RapidQ, выкупленный RealBASIC, который сейчас только переправляет Linux запуски без IDE, Phoenix BASIC, который заморожен на 3 года, KBasic затормозился, GNOME Basic перенес фокус на предоставление VBA поддержки для приложений GNOME, XBasic готов, но примитивнее, чем VB, HBasic - достойный претендент, но нестабильный.

С другой стороны, есть множество языков BASIC без интегрированного IDE, и множество IDE без языка BASIC.

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

И, наконец, разработка компонент Gambas  означает для всякого наличие возможности написать  GUI компонент, базируемый на GTK+ с тем же интерфейсом, что и  QT, так что каждая программа gambas может затем переключаться между QT GUI и GTK+ GUI.

Начала BASIC

Одна из первых программ, которые вы можете непременно найти в любом языке программирования, это достопочтенная "Hello World".

Hello VB World

  1. Начинаем с пустой формы (form)
  2. Размещаем клавишу команды - Command Button (Command1) и этикетку (Label1) на форме
  3. Пишем код:
Sub Command1_Click()
Label1.Caption = "Hello World!"
End Sub

Hello Gambas World

  1. Начинаем с пустой формы (form)
  2. Размещаем клавишу - Button (Button1) и этикетку (Label1) на форме
  3. Пишем код:
SUB Button1_Click()
Label1.Text = "Hello World!"
END

См. также: How do I... say Hello World in Gambas

Если вы не хотите создавать программу, основанную на форме (form-based), вы можете начать проект без форм и написать код:

SUB main()
PRINT "Hello World!"
END

Есть множество прелестных простых вещиц, которые вы можете сделать с Gambas - и еще нечто, что не может Visual Basic! (В VB есть метод "Print", но он обращается только к отладчику и GDI объектам, подобным принтеру, форме или вместилищу картинки.)

Отличия от VB

Поскольку Gambas не предназначался быть клоном Microsoft Visual Basic, он все еще BASIC, и есть много сходства между этими двумя языками, и много связей между функциональными возможностями. Есть, возможно, больше сходства, чем различий, но вы можете просто скопировать свои VB проекты и рассчитывать на компиляцию под Gambas.

Из раздела DifferencesFromVB:

Не специфические для языка различия


VB Gambas Тип файла
.vbp .project (только .project, один на директорию) Файл определения проекта
.bas .module Модуль
.cls .class Файл класса
.frm .form Файл определения формы
.frx (все, что хотите) Двоичные файлы ресурсов

VB имеет это, Gambas нет

Gambas имеет это, VB нет

Усиливая мощь Linux

"Это Unix философия: Пишите программы, которые делают одну вещь, но делают ее хорошо. Пишите программы для совместной работы. Пишите программы для поддержки текстовых потоков, поскольку это универсальный интерфейс." -- Doug McIlroy

Одно из основных преимуществ Gambas над VB в том, что Gambas построен в соответствии с философией Unix. Это значит, вы можете усилить мощь Linux и его тысяч средств вместо написания кода.

Давайте, рассмотрим некоторые примеры.

Приумножая ваши текущие знания

Если вы всегда программировали на BASIC, вы почувствуете теплое ощущение от знакомого вам, когда начнете программировать в Gambas.

VB программисты почувствуют полный комфорт с самого начала.

Чтобы понять, что Gambas - это не VB, и VB программистам нужно быть готовыми к некоторым различиям. Но большинство изменений существуют по определенным причинам: чтобы сделать язык лучше. (Важно помнить, что Gambas позаимствовал некоторые хорошие идеи у Java и других языков программирования.)

С Gambas любой может начать программировать графическое приложение сразу, и это приведет больше программистов, и принесет больше приложений в GNU/Linux.

Конвертирование вашего существующего кода

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

Разработчики Gambas уже сделали небольшой скрипт, в настоящий момент в версии 0.1, который конвертирует VB формы в Gambas.

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

В VB описание формы и исходного кода смешаны в едином файле. Gambas разделяет это на два файла: описание формы и модуль класса.

Есть также несколько имен управления и свойств, которые мы можем конвертировать автоматически. Например, в VB мы имеем "CommandButtons", тогда как в Gambas (или QT?) они названы просто "Buttons"; свойство "Caption" названо "Text" в Gambas.

Резюмируя

Gambas - это самое близкое к VB в мире Linux. Проект не был изначально предназначен заменить миллионы строк VB кода, но предоставляет быстро прогрессирующий инструмент, базирующийся на языке BASIC. Тем не менее, Gambas уже представляет собой инструмент для легкой миграции с собственных приложений VB.

Gambas в постоянном совершенствовании. Его текущая версия рассматривается как alpha программа, поскольку некоторые возможности еще определяются, но Gambas уже используется в таких сложных приложениях, как его собственный IDE. Нет смысла спешить с релизом 1.0, и есть цель - сделать хорошую вещь сразу.

Gambas имеет сетевой график. Некоторые из новых возможностей, которые ожидаются в следующих выпусках:

Согласно Daniel Campos, создателю компонента Network, он достаточно стабилен, чтобы именоваться 'beta' версией, и уже предоставляет некоторые интересные функциональные возможности:

TO-DO: завершить статью с необузданным оптимизмом