Gambas is a free development environment based on a Basic interpreter with object extensions, a bit like Visual Basic™ (but it is NOT a clone !). Read the introduction for more information.
With Gambas, you can quickly design your program GUI with QT or GTK+, access MySQL, PostgreSQL, Firebird, ODBC and SQLite databases, pilot KDE applications with DCOP, translate your program into any language, create network applications easily, make 3D OpenGL applications, make CGI web applications, and many more robust work
The Gambas project aims at making a graphical development environment based on a Basic interpreter, so that the language is as easy as Visual Basic under Linux but much better and less bugs.
The phenomenal quantity of bugs and inconsistencies in Visual Basic had persuaded developer me to start a fresh project. It seems that Microsoft was aware of the poor quality of its language, as VB, dot-Net (.Net) was not made backward compatible with older versions of Visual Basic.
Gambas does not try to be compatible with Visual Basic, and will never be. Its syntax and internals are far better than the one’s seen in its proprietary cousin.
The author who had very good understanding of Visual Basic from childhood, took from Visual Basic, the Basic language, the development environment and the user interfaces and dropped the bad practices in common use of Visual Basic program and made Gambas coherent, logical and reliable as possible.
Features
Below are the main features of Gambas and what sets it apart from the other languages.
Gambas is a Basic language with object extensions. A program written with Gambas is a set of files. Each file describes a class, in terms of object programming. The class files are compiled, then executed by an interpreter. From this point of view, it is very inspired by Java.
Gambas is made up of the following programs:
A compiler.
An interpreter.
An archiver.
A graphical user interface component.
A development environment.
The development environment is written with Gambas itself, so that I can show the abilities of the language and is useful for debugging.
What are the features that set Gambas from the other languages?
1. A Gambas project is stored under one directory. The archiver transforms the project directory structure in one sole executable file.
2. Compiling a project only requires the compilation of the modified classes. Every external reference of a class is solved dynamically at the execution time.
3. Gambas has a component architecture that allows it to extend the language. Anyone can write components as shared libraries that dynamically add new native classes to the interpreter.
Components can be written in Gambas too. The component architecture is documented in the Wiki encyclopaedia.
4. By default, the Gambas interpreter is a text-only program. The component architecture is used for writing the graphical user interface part of the language.
5. As the graphical user interface is implemented as a component, Gambas is independent of any toolkit!
One will be able to write a program, and choose the toolkit later : GTK+, Qt4, etc.
6. The graphical user interface is the Qt4 toolkit. The GTK+ component which is not finished will have almost the same interface as the Qt4 component.
7. Gambas projects are easily translatable, in any language.
8. Its object model is simple but powerful.
About the Author
Welcome to you, curious!
You’re going to know almost everything about me…
My name is Benoît Minisini.
I am a French man born in 1972, living in Paris. Programming is one my passion since I was twelve, and is now my job for many years now. This passion started with the Basic language on a CPC Amstrad 464, and later on an Atari 520 STE. Of course, now, I am using many other languages, but I never forgot that I have learned and done a lot with Basic.
I was always fond of writing languages, compilers, assemblers, and interpreters. I wrote a Z80 assembler on Amstrad and an interpreted language that consumed all its memory.
Later, during my studies at the E.P.I.T.A., I wrote a Lisp interpreter under Windows. During six months, I discovered its stupid memory model, the Microsoft compiler, and its numerous bugs.
Today, I keep on raging with the Gambas
Thanks to my boss, I have a half-time job, so I have worked actively on Gambas for the last years.
But I have other passions too, that burns lot of my time. That is music .
I’m playing flute for a long time – and theatre.
So, the development of Gambas is not as fast as it could be.
I hope your curiosity was satisfied…
Acknowledgment
Gambas is build on top of many free softwares, and could not exist without them.
So I would like to thank every people involved in the following projects:
Linux
KDE
GCC and all of the GNU tools, of course.
The Qt4 toolkit.
The GIMP and its toolkit GTK+
Libre Office.
The MySQL, PostgreSQL and SQLite database management systems.
And any other libraries used by Gambas.
That is enough for as an introduction to language packages.
I pronounce it as Gon (a bull) Bass (is unskilled workman) in Sinhala which is the phrase we use when the workman does a shoddy job. But that reference has no slur on this wonderful package which love the most. Unfortunately only few of the distributions port it as is. That is why I was very expressive here.
It needs to be there for the young newbies to take root in Linux.