/ doc / faq
Frequently Asked Questions

## Why did you name this project "Gambas"?

It seems that free projects name are often animals, especially the programming language ones: Python, Camel, Bonobo, etc. And I wanted to have a recursive acronym with the word "Basic" in it. So, Gambas Almost Means BASic!

## Is Gambas compatible with Visual Basic™?

No, and it will never be! Fortunately, there are many similarities, but do not expect to take your old Visual Basic code and run it on Gambas without any change. You can go the troubleshooting page to find some examples of the differences between the two languages. See also: Differences From Visual Basic

## Will Gambas be compatible with Java or .Net?

Never, I'm afraid. There are many reasons, good and bad: I'm not Sun nor Microsoft, I do not want to impose one sole language for everything everywhere. A stupid thing, isn't it? :-) I want a simple but powerful language, not necesseraly intended for professionals or nerds. I did it for fun too! I do like writing compilers, interpreters, virtual machines... So I did not use the spec of Java nor .Net.Gambas IDE is written in Gambas.

## Is Gambas multiplatform?

In the future, I hope there will be a simple answer: "yes!". :) Right now, there are reports of people compiling Gambas under BSD and Win32/Cygwin.

## Why don't you merge your project with HBasic, MonoBasic, Parrot...?

There are too many technical differences between these projects and mine to think about a merge.

Another problem is that the Gambas interpreter is very tight to the features of the language I needed. .Net/Parrot features are very different from the Gambas ones. It is not just a matter of interpreting bytecode. For example, there is the reference counting against garbage collector problem. What will happen to the components management system ? To the class inheritance management ? To the interpreter hooks ? And so on...

## How do I compile, make and install Gambas?

See README

## How do I uninstall Gambas?

If you have installed Gambas using the packaging mechanism of your operating system, it should be easy to use the normal uninstallation procedure. If you have installed from source as root , just remove the installation directory. For example, if you have installed Gambas under `/opt/gambas2`, just do, as root:

    $ rm -rf /opt/gambas2

If the installation prefix is `/usr`, or `/usr/local` (which is the default) then you have to remove each directory one by one.

    $ rm -f /usr/local/bin/gbx2 /usr/local/bin/gbc2 /usr/local/bin/gba2 /usr/local/bin/gbi2
    $ rm -rf /usr/local/lib/gambas2
    $ rm -rf /usr/local/share/gambas2

## Can I access my PostgreSQL, MySQL, etc. database with Gambas?

You can currently access PostgreSQL, MySQL and SQLite databases in the stable version, and more in the development one. If you want to develop a driver for another database system, tell me. You are welcome!

## I'm a C/C++ programmer. How can I help you?

You are welcome to help! First you can subscribe to the developer mailing-list and introduce yourself. Then, you must try to understand the Gambas architecture: the compiler, the interpreter, the development environment, the components, and how they live together. Then, you can read the developer documentation on the Wiki: it will explain you how to program components. You will find component example named gb.example that is full of comments. By reading the source of this example, you will understand how to write a component. If you want to write a database driver for the database component, the PostgreSQL driver is commented, so that you can more easily know how to do that. Of course, I will answer any question and help you as much as I can, provided that you have spent more than a school year to learn C/C++ :-)

## I'm not a C/C++ programmer. How can I help you?

Any help on the following tasks is welcome. No C/C++ programming skill is required!

- Playing with Gambas and reporting bugs.
- Making example programs for beginners, and send them to me so that I put them in the source package.
- Making a tutorial to show beginners how to write their first Gambas program. It would be a great idea! :-)
- Translating Gambas into your own language, if it has not been done yet. See How To Translate The Gambas IDE for more information.

## Can I develop proprietary software with Gambas?

Yes, you can. But if you use the QT GUI component, i.e. if your program is graphical, then you must purchase a QT licence before starting its development. Otherwise, make your software free as in freedom :-)

## Will you port Gambas to Windows™ ?

I won't, but I will help any people trying to do that. I already compiled Gambas sources under Cygwin in the past, but didn't really succeed. Note that there is a lot of things to port: process management, Qt component, and so on... This is a huge job.