<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<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>
<table class="none" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td align="left">
<font size="-1">
<a href="../../help+en"><img class="flag" alt="Home" border="0" src="../../img/lang/en.png" align="center"></a>&nbsp;
<a href="../doc+en">Up</a>&nbsp;
<a href="drawingarea+en">Previous</a>&nbsp;
<a href="naming+en">Next</a>&nbsp;
</td></tr></table>
<div class="notab">
<h1>
Frequently Asked Questions
</h1>
<h2>Why did you name this project &quot;<a href="../def/gambas+en">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+en">Gambas</a> Almost Means BASic!
<p>
<h2>Is <a href="../def/gambas+en">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+en">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+en">Differences From Visual Basic</a>
<p>
<h2>Will <a href="../def/gambas+en">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+en">virtual</a> machines... So I did not use the spec of Java nor .Net.<a href="../def/gambas+en">Gambas</a> IDE is written in <a href="../def/gambas+en">Gambas</a>.
<p>
<h2>Is <a href="../def/gambas+en">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+en">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+en">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+en">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 <a href="../def/compile+en">compile</a>, make and install <a href="../def/gambas+en">Gambas</a>?</h2>
See <a href="../readme+en">README</a>
<p>
<h2>How do I uninstall <a href="../def/gambas+en">Gambas</a>?</h2>
If you have installed <a href="../def/gambas+en">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+en">Gambas</a> under <tt>/opt/gambas</tt>, which is the default, just do, as root:
<p>
<pre class="code">  $ rm -rf /opt/gambas
</pre><p><p>
<h2>Can I access my PostgreSQL, MySQL, etc. database with <a href="../def/gambas+en">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+en">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+en">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!
<ul>
<li>Playing with <a href="../def/gambas+en">Gambas</a> and reporting bugs.
<li>Making example programs for beginners, and send them to me so that I put them in the source package.
<li>Making a tutorial to show beginners how to write their first <a href="../def/gambas+en">Gambas</a> program. It would be a great idea! :-)
<li>Translating <a href="../def/gambas+en">Gambas</a> into your own language, if it has not been done yet. See <a href="../howto/translate-ide+en">How To Translate The Gambas IDE</a> for more information.
<p>
</ul>

<h2>Can I develop proprietary software with <a href="../def/gambas+en">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 before starting its development. Otherwise, make your software free as in freedom :-)
<p>
<h2>Will you port <a href="../def/gambas+en">Gambas</a> to <a href="../comp/gb.qt/windows+en">Windows</a> ?</h2>
I won't, but I will help any people trying to do that.
I already compiled <a href="../def/gambas+en">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>
</body>
</html>

