Wednesday, May 7, 2014

Gambas!

You may recall my last post, where I was being aggravated at the Real software folks (excuse me, "XOJO")
had not only abruptly dropped all support for Real Studio, and had their hand out for more money for their shiny new "XOJO" product.
At one time in the past, I had looked at free alternatives, but none of them appealed to me, for various reasons.
I took another look at Gambas not long ago.  It was created by a fellow named BenoĆ®t Minisini.  It looks and feels a bit like MicroSoft's Visual Basic, but don't you dare call it VB!  It is not meant to be a clone.  Indeed, it is something better, as far as I am concerned.  SPARCL14, which is the current dev machine, is running Gambas, under Fedora 20, 64 bit.  If you use YUM to install Gambas, it grabs any and all dependancies in one fell swoop, and before you know it, you have a complete installation.
Now, I have one or two disagreements with M. Minisini's programming philosophy.  For example, he does not favor global variables.  I, however,  find it silly to pass my pointer to the start of SPOCS shared memory around and around to all my GUI Gambas functions.  Why not have ONE global copy, and each module can copy its value, so each module can access shared memory?  Fortunately, you can create a global code section in a Gambas project, and have all other modules access it. (Please don't delete that feature, M. Minisini!)
Gambas is well-behaved on my dual core, 3.7 Ghz AMD machine.  It compiles quickly, it points out my silly errors correctly, and has just about all the VB-style bells & whistles you could ask for.  Plus, there are several goodies for reading various data types from memory that really help.
The new SPOCS console is about 75% done now.  It is improved over the old RealBASIC one, and has more features.   I will have screen shots soon, and will release the code on SourceForge.
Oh, yes - we had a bad thunderstorm this morning.  The electric power was out for a few hours.  L12 came back up, but SPOCS did not.  I have a fix on L12 for that, and will post it soon.  The power outage also caused L14 to come down with some kind of problem...it won't boot.
More Later.