According to Hoyle...
Copyright ©2006 Jonathan Hoyle
Cross-Platform Software Development from a Macintosh Perspective: Basic Compilers (Part III)
Last year, we began a series of articles reviewing various cross-platform development environments and frameworks from a Macintosh perspective:
- Runtime Revolution
- Java development environments
- BASIC development environments, Part I
- BASIC development environments, Part II
- Converting Legacy Frameworks
The largest amount of email feedback I have received has been from the two articles on Basic compilers, prompting me to add another installment. Basic's popularity remains extremely high, thanks in large part to the success of Microsoft Visual Basic for Windows and Visual Basic .NET development environments. They have helped to dispel the myth that Basic cannot be used for professional software development. REALbasic, by REAL Software, has furthered this by becoming the "cross-platform version of Visual Basic." A detailed review of REALbasic is avaialble from an earlier column, so I will turn my attention to the others.
In May & June of this year, we examined the general state of Basic development environments on the Macintosh. Part I was a history of Basic on the Macintosh, from the ill-fated MacBasic up to the beginnings of REALbasic. Part II summarized some of the more popular products available today, including REALbasic, Future BASIC, True BASIC and ChipmunkBasic. I also quickly touch upon some Basic environments showing promise for the future: ExtremeBasic, wxBasic and KBasic.
Despite the many products we covered, there were a number, by necessity, missed. In addition, users of legacy Basic products were curious as to the current status of their products. So as to answer the many questions I have received, we continue now with more Basic development environments...
Price: 24.95 Euro (~$35) Professional Edition, Free Personal Edition (not available for the Mac).
In the June article, KBasic was referred to as a "future" product; however, KBasic has made many inroads toward the Mac in the past few months, that an update was warranted. A new Mac version of KBasic is expected very soon and is completely revamped, written in Cocoa with Objective-C and C++. Cocoa API's will also be made available from within KBasic, giving a the power of Cocoa to Basic programmers (without having to learn Objective-C). And of course, it will be a Universal Binary, so as to support Intel-based Macintoshes.
KBasic is essentially a continuation of the Visual Basic 6 programming environment that was abandoned when Microsoft made the move to .NET. KBasic is 100% syntax compatible with VB 6, with an IDE very similar to it. Anyone with a VB 6 project who wishes to make it cross-platform will likely find the migration easier on KBasic than with REALbasic. The current version of KBasic is based upon Qt, a cross-platform C++ framework by Trolltech, so that Mac OS X was more easily achieved. However, due to inflexible licensing restrictions by Trolltech, KBasic is abandoning Qt and is using native Cocoa calls to develop the upcoming Macintosh release.
Although there is a free Personal Edition of KBasic, it is available only for Windows and Linux. Mac OS X users will have to purchase the Professional Edition, but given its extremely reasonable price, that is not a big imposition. The Mac user may however download a Trial version of the Professional edition to try it out prior to buying. KBasic is definitely becoming one of the most exciting new development products on the Mac, and may give REALbasic a run for its money.
Price: $99, free upgrades from any version.
I received a great deal of email asking about various Basic products, with the #1 request being to review PureBasic by Fantaisie Software. Although I had researched PureBasic for the article, I did not include it simply because its web site (at the time) indicated that there was no support for the Macintosh. As it turned out, there had already been a preliminary Mac release, but apparently Fantaisie did not feel it important enough to mention it on the front page of their web site.
Fantaisie Software delivered this first - and only - Mac release with version 3.94 in October 2005. Unfortunately, there have been no updates since then, causing it to fall a version behind, as PureBasic 4.0 was released for Windows last May. Mac OS X is noticeably a second-class citizen in PureBasic, as its web site states that the only "fully supported" operating systems are: Windows, Linux and (bizarrely) Amiga OS. PureBasic on Mac OS X will run on the G3, G4 and G5 Power Macs but is incompatible with Intel-based Macs, even under Rosetta emulation. Even under PowerPC, there are still just too many bugs to have to get around.
Despite these negatives, PureBasic is a fairly nice development environment, allowing identical source code to be compiled on Mac, Windows, Linux and Amiga very easily. The $99 price tag buys you a license to all platforms, with a lifetime free update guarantee. One of the most impressive qualities of this product is its highly optimized code generation. Most Basic compilers can be a bit fat and sluggish, but PureBasic does a nice job of tightening up its executables. Compilation is also pretty fast, nearly that which C programmers are accustomed to.
PureBasic is a very powerful development environment on Windows, but it still needs quite a bit of work before it is suitable for the Macintosh developer. REALbasic is the gold standard for any Basic development product, and PureBasic needs a lot more polish on that front. With the many bugs, Intel-incompatibility, and after a year with no updates (not even for simple bug-fixes), one wonders how committed Fantaisie Software really is to the Mac platform. At this point, I cannot recommend PureBasic to the Mac developer. However, this product shows a great deal of potential, and perhaps a future version will remove the critical errors, making it worth reviewing again.
Although not cross-platform, CocoaBasic make Mac OS X development both easy and powerful. CocoaBasic exposes the power of the Cocoa API for Mac OS X with a Basic interface. Thus serious developers who do not know (or wish to learn) Objective-C can still access the powerful API's. In addition to full integration with the Cocoa framework, CocoaBasic also has integrated editors for source code, instances, windows, etc.
Last year, CocoaBasic was released into the Open Source community and has somewhat stalled. Integration with Interface Builder is one of the most obvious areas needing improvement. If you are interested in giving back to the community, becoming involved with this project may be well worth your time.
There are a number of older Basic products that are still in use by the Mac community, so I cover them here for completeness’ sake.
TNT Basic, Free: This is one product which has beat the odds. TNT Basic started life as shareware, geared toward building games. As a Classic application, it began to fall out of favor as Mac OS X increased in popularity. TNT Basic was placed into sourceforge (where open source projects go to die), and it was soon forgotten. Only it wasn't. The developer community remained so passionate about it, that it inspired the organizers to return to update the product. TNT Basic was eventually updated to Mac OS X and as of this year is an Xcode project. Worth checking out just to see if it manages to crawl back to becoming a real product again!
METAL Basic, Free: This "Meta-Language" compiler is supported on both Classic and OS X with very nice sprite capabilities and QuickTime integration. In addition to its extensive graphics capabilities, it excels in fast complex mathematical computations. The web site contains links to a number of programs created with METAL Basic, including some impressive 2D and 3D graphics.
Omikron Basic, $143 Pro, $72 Lite: If by "cross-platform" you mean Macintosh and Atari ST, then Omikron Basic by Berkhan Software may be for you. Berkhan finally released the Mac OS X-native version 8 in 2004, coming rather late to the party. Relying on EasyGEM for its graphics (from the GEM operating system used on the Atari ST), Omikron is an unusual basic environment. Editing is clunky, although compilation time is pretty good. However, its unrealistic price tag does not make it worth your consideration (especially since there are superior free ones).
Visual MacStandardBasic, Discontinued: Squirrel Software, creators of Visual MacStandardBasic, are no longer in business and their web site is gone. This Classic-only development environment showed a great deal of promise, it didn't survive long enough to deliver on them. Don't pay too much for this product, as in its prime it sold for only $29.
Next Time: Using REALbasic with C++. See you in 30!