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 VB

Will Gambas be compatible with Java or .Net?

Never, I'm afraid. There are many reasons, good and bad:

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...

...KBasic?

I think there are too many technical differences between the KBasic project and mine to merge the two projects.

KBasic seems to be based on KDE, and KDE only. My own interpreter does not depend on any toolkit or graphical environment. The Gambas interpreter is a text only program. The graphical part comes with components.

At the moment, there is only one graphical component, the Qt one. But, in the future, I plan to write a Gtk+ component, so that programs will be able to equally use Qt or Gtk+, or any other toolkit that has its own component.

Moreover, the development environment (the tool you use to write Gambas programs) is written in Gambas. The KBasic development environment seems to be written in C++, not in KBasic. It is a huge design difference.

So, that was the reasons why I think we could not easily merge... It is life!

...HBasic?

It's pretty much the same as with KBasic (I think)

...ParrotBasic?

The problem is that the Gambas interpreter is very tight to the features of the language I needed.

Parrot features are very different from the Gambas ones. It is not just a matter of interpreting bytecode : 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...

Porting the Gambas interpreter to Parrot, if a good thing, which is not evident, is a huge task anymay. It won't be done before years!

How do I compile, make and install Gambas?

Short version:

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

See also the long version.

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/gambas, which is the default, just do, as root :

  $ rm -rf /opt/gambas

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

YES ! You can currently access PostgreSQL and MySQL databases, and there is a SQlite driver in beta version. 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!

What is the strange formula on the home page? How can it be true?

A bit offending, isn't it? :-) I saw this formula on a TV show. A mathematician gave this formula as his favourite one. And I agree...

Well, how is this formula correct?

The reason is that you cannot find any logical contradiction by deciding that this sum does not diverge. But if you decide that, you must choose that it equals -1. See that as the limit of geometric series.

A real mathematician would be more explicit :-) I think it is just a matter of finding the good distance function that makes this sum converging.

In other words, this sum diverges because you have made logical hypothesis in the mathematical set where you calculate numbers. If you choose other hypothesis, then the sum can converge!

Wow! They didn't tell you at school?


-- 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.