<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../style.css">
<title>
Gambas Documentation - Frequently Asked Questions
</title>
</head>
<body>
<table class="none" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td align="left">
<font size="-1">
<a href="../../help%3Fen"><img class="flag" alt="Home" border="0" src="../../img/lang/en.png" align="center"></a>&nbsp;&nbsp;
<a href="../doc%3Fen">Up</a>&nbsp;&nbsp;
<a href="drawingarea%3Fen">Previous</a>&nbsp;&nbsp;
<a href="naming%3Fen">Next</a>&nbsp;&nbsp;
</td></tr></table>
<div class="notab">
<h1>
Frequently Asked Questions
</h1>
<h2>Why did you name this project &quot;<a href="../def/gambas%3Fen">Gambas</a>&quot;?</h2>
<p>
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 &quot;Basic&quot; in it. So, <a href="../def/gambas%3Fen">Gambas</a> Almost Means BASic!
<p>
<h2>Is <a href="../def/gambas%3Fen">Gambas</a> compatible with Visual Basic?</h2>
<p>
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 <a href="../def/gambas%3Fen">Gambas</a> without any change.
You can go the troubleshooting page to find some examples of the differences between the two languages.
See also: <a href="diffvb%3Fen">Differences From Visual Basic</a>
<p>
<h2>Will <a href="../def/gambas%3Fen">Gambas</a> be compatible with Java or .Net?</h2>
<p>
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, <a href="../def/virtual%3Fen">virtual</a> machines... So I did not use the spec of Java nor .Net.<a href="../def/gambas%3Fen">Gambas</a> IDE is written in <a href="../def/gambas%3Fen">Gambas</a>.
<p>
<h2>Is <a href="../def/gambas%3Fen">Gambas</a> multiplatform?</h2>
In the future, I hope there will be a simple answer: &quot;yes!&quot;. :)
Right now, there are reports of people compiling <a href="../def/gambas%3Fen">Gambas</a> under BSD and Win32/Cygwin.
<p>
<h2>Why don't you merge your project with HBasic, MonoBasic, Parrot...?</h2>
<p>
There are too many technical differences between these projects and mine to think about a merge.
<p>
Another problem is that the <a href="../def/gambas%3Fen">Gambas</a> interpreter is very tight to the features of the language I needed.
.Net/Parrot features are very different from the <a href="../def/gambas%3Fen">Gambas</a> 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...
<p>
<h2>How do I compile, make and install <a href="../def/gambas%3Fen">Gambas</a>?</h2>
See <i>/doc/readme</i>
<p>
<h2>How do I uninstall <a href="../def/gambas%3Fen">Gambas</a>?</h2>
If you have installed <a href="../def/gambas%3Fen">Gambas</a> 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 <a href="../def/gambas%3Fen">Gambas</a> under <tt>/opt/gambas</tt>, which is the default, just do, as root:
<p>
<pre class="example">  $ rm -rf /opt/gambas
</pre><p><p>
<h2>Can I access my PostgreSQL, MySQL, etc. database with <a href="../def/gambas%3Fen">Gambas</a>?</h2>
<p>
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!
<p>
<h2>I'm a C/C++ programmer. How can I help you?</h2>
You are welcome to help!
First you can subscribe to the developer mailing-list and introduce yourself.
Then, you must try to understand the <a href="../def/gambas%3Fen">Gambas</a> 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 <a href="../comp/gb/gb%3Fen">gb</a>.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++ :-)
<p>
<h2>I'm not a C/C++ programmer. How can I help you?</h2>
Any help on the following tasks is welcome. No C/C++ programming skill is required!
Playing with <a href="../def/gambas%3Fen">Gambas</a> 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 <a href="../def/gambas%3Fen">Gambas</a> program. It would be a great idea! :-)
Translating <a href="../def/gambas%3Fen">Gambas</a> into your own language, if it has not been done yet. See there for more informaion.
<p>
<h2>Can I develop proprietary software with <a href="../def/gambas%3Fen">Gambas</a>?</h2>
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. Otherwise, make your software free as in freedom :-)
<p>
<h2>Will you port <a href="../def/gambas%3Fen">Gambas</a> to <a href="../comp/gb.qt/windows%3Fen">Windows</a> ?</h2>
I won't, but I will help any people trying to do that.
I already compiled <a href="../def/gambas%3Fen">Gambas</a> 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.

</div>
<hr>
</body>
</html>

