# Futurebasic/Language
## The FutureBASIC Language

FutureBASIC (FB) is a high-level procedural programming language—in fact a whole "Integrated Development Environment" (IDE)—for the Apple™ Macintosh® computer system. It is a compiled BASIC dialect allowing easy access to the graphical user interface and file system of the MacOS. In providing structures such as nestable records and arrays, and various forms of subroutines (local functions) and callbacks it is quite as powerful as C however with the syntax of BASIC and a less strict variable typing. FB features an editor, compiler, debugger, profiler, project manager, documentation, and code samples.
The current version is FB4 Release 4. Since January 1, 2008, FutureBASIC is freeware.
Language Reference

## History of FutureBASIC

FB began life in the mid-1980s as ZBasic, which was created by Andrew Gariepy and envisioned as a cross-platform development system. Before long, the cross-platform aspects were dropped in favor of focusing on Macintosh development. ZBasic acquired a devoted following of developers who praised its ease of use and the tight, fast code produced by the compiler (a legendary labor involving extensive use of hand-built 68K assembly language code). In 1992 and as the next major step after ZBasic version 5, Zedcor Inc., the company of the Gariepy brothers Andy, Mike, Peter and friends based in Tucson/Arizona presented FutureBASIC (later called FBI). In 1995 Staz Software, led by Chris Stasny, acquired the rights to market FutureBASIC. Chris Stasny started this business with an upgraded version, namely FBII, and with his own development, the Program Generator (PG PRO), a CASE tool.
The transition from 68k to PowerPC CPUs was a lengthy process that involved a complete rewrite of the editor by Chris Stasny and an adaptation of the compiler by Andy Gariepy. This was undertaken during Apple's darkest days when the further existence of the Mac and Apple itself was in the news every week. The result of their efforts, a dramatically enhanced IDE called FB^3, was released in September 1999, featuring among many other things a separate compiler application, various open, hence modifiable runtimes, inline PPC assembly, a simplified access to the Macintosh Toolbox™ API, as well as an expanded library of built-in functions. Major update releases introduced a full-featured Appearance Compliant runtime written by Robert Purves and the Carbon compliance of generated applications. Once completely carbonized to run natively on OS X, the FB IDE was called FB4 and first released in July 2004.
Based in Diamondhead/Mississippi, Staz Software was severely hit by Hurricane Katrina in September 2005 and development pace was slowed at a time when major effort was required to keep the IDE up to date with Apple's evolution towards the Intel™-based Macintosh. More recently, an independent team of volunteer FB programmers developed a cross-compiler (FBtoC) that allows FB to generate applications as Universal Binaries through the use of the open source gcc compiler which is included with each copy of Apple's OS X system software. On January 1, 2008, Staz Software announced that FB4 would henceforth be freeware and FBtoC 1.0 was made available at http://www.4toc.com/fb4/
From System 6 to MacOS X on Intel, the longevity of the FutureBASIC development system on the Mac Platform is second to none.

### Notes

* ^ A short introduction to ZBasic.
* ^ FBI introduced major enhancements to the BASIC language, encouraging the developers to use local functions instead of subroutines for better structured programs and re-usable code.
* ^ Home of Staz Software,inc.
* ^ FBII was 32bit-clean and could run from Mac 128 to G5-based Macintosh in emulated mode.
* ^ Program Generator was a great piece of software that allowed programmers to build sophisticated applications in no time. Unfortunately, it has never been updated to produce shells for the Appearance Compliant runtime. Apple's Interface Builder™ can be used as a replacement to a lesser extent.
* ^ Starting with FB^3, a runtime consists of include files that are compiled along with the code written by the programmer. It contains various declarations for structures, constants, global variables, resources, functions and procedures that constitute the FutureBASIC language. The main runtimes are: Standard BASIC, Appearance Compliant and Mac Toolbox.
* ^ The Appearance Compliant runtime brought to the FB language a rich set of keywords allowing the programmer to access more easily most of the features of Apple's Appearance Manager.