Saturday, March 22, 2003

Liberty Basic 4 is now in Alpha testing. It looks like it's going to be a big step forward for the language. Here's a brief list of the new features:
  1. True global variables. (declared using the new global keyword)

  2. Passing arguments to a sub or function by reference. (I complained about the lack of this feature in LB3 about 4 posts ago.)

  3. Handle variables and the new maphandle command. (liberation from static handles to windows, controls and files)

  4. Dynamic evaluation of Liberty Basic code inside of a running program. (eval returns a numeric value and eval$ returns a string value)

  5. Subroutines can now be used for event handlers. (a better choice over branch labels for large programs)

There are many other enhancements, but these are the big ones. The IDE also has a new feature that lets you create tutorials or lessons using a three-pane window. On the left pane is the outline of the lesson. On the upper right pane is the lesson text. On the lower right pane is LB code that can be run by the user. The lessons can be created in the IDE and stored as lesson files with an lsn extension (i.e. tutorial1.lsn).

Some people have called Liberty Basic the language for the masses. Carl strives to keep the language easy to learn and fun to use. He markets to beginning programmers and hobbyists, but as the years roll by LB is moving slowly into the realm of the professional. I welcome this direction, but I hope that the personality of the product is not lost in new complexity. A lesson from current events is Microsoft's VB.NET. The Visual Basic I know and love is nowhere to be found in this new product. VB.NET is just C# with VB-like syntax.

Sunday, March 09, 2003

I upgraded my old Dell Dimension from Windows 98 to Windows 2000 this morning. It was an "upgrade", not a "clean install".

When I first ran Liberty Basic 3.02 under the new OS, the title bar showed that it was not registered. Entering my license number again fixed the problem, but it was an unusual side effect of the upgrade.

It makes me wonder how Carl is storing that license number.

Thursday, March 06, 2003

Yesterday, Carl released the first alpha of Liberty Basic 4!

Those interested in helping Carl test LB4 should go to the Liberty Basic Forum. Join the Liberty Basic 4 Alpha Testing forum. There is a link to download LB4 in Carl's first message.

More to come on LB4's new features!

Sunday, March 02, 2003

The latest edition (NL106) of the Liberty Basic Newsletter has just been published. Two articles really peaked my interest:
  1. Using SQLite Database Manager in LB by Colin McMurchie. Unbelievably simple API access to the SQLite database. This embeddable database is in the public domain, and after a first look it seems to be a good fit for the Liberty Basic programming world.

  2. What I Did With The !Locate Command On My Summer Vacation by Tom Nally. Tom creates a Hypercard-like stack using Liberty Basic's !Locate command. Basically, controls are located off-window and moved into place when needed. Doing this type of GUI work by hand is tedious, but a "stack creation" tool could automate most of the drudgery. I wonder if this idea could be used for FreeForm. Building a GUI with real controls is better than FreeForm's graphically drawn controls.