This programming language may be used to instruct a computer to perform a task.
|Execution method:||Compiled (machine code)|
|Parameter passing methods:||By reference, By value|
FutureBasic began life as Zbasic, a commercial variant of BASIC for the early Macintoshes, but has grown far beyond that into a mature freeware IDE that, through its FBtoC translator, can be used to compile C and Objective-C object-oriented code using the clang compiler included with an Xcode installation. It is excellent as a educational tool and for fast prototyping -- especially in Objective-C (Cocoa) by those who prefer programmatic code without the overhead of Xcode. Among its enthusiasts are commercial developers, engineers, professors, doctors, musicians, writers and a host of amateurs who program with FB for the sheer joy of it.
FutureBasic Home Page & Download
Here is where you can download your freeware copy of the FutureBasic IDE for macOS X 10.13 and newer, along with detailed installation instructions, programming examples and other information.
On 1 January 2008 Staz Software announced FB 4 would be freeware and all FB versions since then have also. Downloads and their executables are freeware, but FB 7's source code and rights of distribution are reserved to the authors (now the FBtoC team ). The IDE is continuously being improved.
FB 7.x builds macOS 64-bit Cocoa applications and command-line tools. Older FB versions for creating 32-bit Carbon apps are available on the FB web site but aren't supported.
The FB 7 IDE consists of a syntax-aware editor, project manager and internally translates ( formerly FBtoC ) FB code into C/Objective-C code. clang LLVM then compiles the translated source.
Here's a sample program:
local fn DoDialog( ev as long ) if ( ev == _btnClick ) then beep end fn window 1, @"Hello, world!", (0,0,550,400) button 1,,, @"Beep" on dialog fn DoDialog HandleEvents
FutureBasic Mailing List
The FutureBasic mailing list is currently a free service to the FB programming community. Application to join the list must be made via the Support tab on the FutureBasic website: http://www.brilorsoftware.com/fb/pages/support.html. List members include raw beginners through published commercial software authors. The FB development team and some long-time enthusiasts are knowledgeable and friendly and are very quick to respond to questions posted on the list. In addition, demonstration program code is frequently posted here.
Discusses the history of FutureBasic and its predecessor, ZBasic, from the early days of the Macintosh when it was a commercial product, until its morph into today's robust front end to the clang compiler. Information on this page can be outdated, so a better source of the most current information about FB can be found at the web sites above.
Considering the contempt some programmers have for the BASIC language -- "BASIC ruins programmers" -- it's almost a shame FB has the word "Basic" in its official name. Not only can FB handle BASIC source code, but since it's a front end to clang, it can translate C, Apple's Core Foundation, Objective-C (Cocoa), HTML, XML, SOAP, UNIX Shell, Open GL, etc. This makes it an excellent tool for prototyping -- especially for programmatic Objective-C when the overhead of Xcode is not needed.
And best of all it's free with no hidden costs.
According to Wikipedia, FutureBasic began life at the dawn of Apple's Macintosh in the mid-1980s as ZBasic, an implementation of "BASIC" -- the "Beginner's All-purpose Symbolic Instruction Code" -- which had been around since the language was invented by John G. Kemeny and Thomas E. Kurtz at Dartmouth College during 1963 and 1964.
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 and the brainchild of Andrew Gariepy).
In 1992, Zedcor Inc., the company of the Gariepy brothers Andy, Mike, Peter and friends based in Tucson, Arizona announced their reworked compiler called FutureBASIC.
In 1995 Staz Software, led by Chris Stasny based in Diamondhead, Miss., acquired the rights to market FutureBASIC. Stasny started this business with an upgraded version, namely FBII, and with his own development, the Program Generator (PG PRO), a CASE tool.
When Apple transitioned the Mac from 68k to PowerPC, the FB editor was rewritten by Stasny and was coupled with an adaptation of the compiler by Andy Gariepy. The result of their efforts, a dramatically enhanced IDE called FB^3 (FB-cubed) was released in September 1999.
Major update releases introduced a full-featured Appearance Compliant runtime written by the late New Zealander Robert Purves renown for his brilliant programming. Once completely carbonized to run natively on the Mac OS X, the FutureBASIC Integrated Development Environment (FB IDE) was called FB4 and released in July 2004.
In August 2005, Staz Software was devastated by Hurricane Katrina just at the time Apple was transitioning from Motorola PPC microprocessors to Intel chips. FB development slowed almost to a standstill. On January 1, 2008, Staz Software announced that FB would henceforth be freeware and FB4 with FBtoC 1.0 was made available.
Since that time, an independent team of volunteer developers initially lead by Purves continued to improve FBtoC, which took code produced by the FB Editor and translated it to C for processing by gcc which was eventually transitioned to the more robust clang.
On Sunday, June 3, 2012, members of the FB List Serve were notified that Robert Purves had died after a long bout with cancer. The news came as a surprise to many FB developers who were unaware of Purves' illness. While coping with cancer, he continued as an active member of the FB community, improving FB, answering questions, solving problems, and posting exquisitely terse code often salted with pithy remarks from his wonderfully dry humor. He never mentioned his health problems and never complained. A tribute to Purves can be found at the bottom of the FB Home Page
A team of skilled developers who worked on the FB editor, who were also tutored at Purves' knee on his pet FB project, the FBtoC translator, continued his work keeping the Macintosh's oldest compiler viable for a new generation of coders and Apple's macOS changes.
CocoaUI, a collection of header classes brought Apple's Cocoa(Foundation + AppKit) to FB, and a fast 64-bit Editor offering syntax highlighting, line numbers and variety of programmer conveniences have since been added to the IDE.
When Apple released Macs running on the ARM M1 chips in early 2021, FB and FBtoC were integrated into a single app that is frequently updated with new features. The most recent version allows Universal code to be compiled as standalone applications on M1, M2 and Intel Macs.
FB has a small but dedicated group of programmers ranging from amateurs to commercial developers. For more information visit the FB home page at:
Also, there is an active and friendly support list where questions are welcomed and help readily available without a critical eye. Registration is required to post to the list:
This category has only the following subcategory.
Pages in category "FutureBasic"
The following 200 pages are in this category, out of 306 total.(previous page) (next page)
- Abbreviations, automatic
- Abbreviations, easy
- Abbreviations, simple
- ABC problem
- ABC words
- Abundant odd numbers
- Ackermann function
- Address of a variable
- Align columns
- Alternade words
- Angle difference between two bearings
- Apply a callback to an array
- Approximate equality
- Archimedean spiral
- Arithmetic numbers
- Array concatenation
- Array length
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- Audio alarm
- Average loop length
- Averages/Arithmetic mean
- Calculating the value of e
- Calendar - for "REAL" programmers
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Cantor set
- Case-sensitivity of identifiers
- Casting out nines
- Catalan numbers
- Change e letters to i in words
- Changeable words
- Character codes
- Check input device is a terminal
- Check that file exists
- Closest-pair problem
- Color of a screen pixel
- Color wheel
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Comma quibbling
- Commatizing numbers
- Compare length of two strings
- Concurrent computing
- Conditional structures
- Convert seconds to compound duration
- Copy a string
- Count how many vowels and consonants occur in a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Create a file
- Create an HTML table
- CSV to HTML translation
- Factors of an integer
- Farey sequence
- Feigenbaum constant calculation
- Fibonacci sequence
- Fibonacci word/fractal
- File extension is in extensions list
- File input/output
- Find first and last set bit of a long integer
- Find if a point is within a triangle
- Find minimum number of coins that make a given value
- Find words which contain the most consonants
- Find words which contains all the vowels
- Find words whose first and last three letters are equal
- Flatten a list
- Formatted numeric output
- Function definition
- Generate lower case ASCII alphabet
- Generate random chess position
- Generic swap
- Get system command output
- Grayscale image
- Greatest common divisor
- Greatest element of a list
- Greyscale bars/Display
- Guess the number
- GUI component interaction
- GUI enabling/disabling of controls
- GUI/Maximum window dimensions
- Hailstone sequence
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Text
- Heronian triangles
- Higher-order functions
- Hofstadter-Conway $10,000 sequence
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Largest proper divisor of n
- Leap year
- Letter frequency
- Levenshtein distance
- Literals/Floating point
- Logical operations
- Longest string challenge
- Look-and-say sequence
- Loops/Downward for
- Loops/For with a specified step
- Loops/N plus one half
- Loops/With multiple ranges
- Luhn test of credit card numbers