Basic For The Mac

MacBASIC
Original author(s)Donn Denman,
Marianne Hsiung,
Larry Kenyon,
Bryan Stearns
Developer(s)Apple Computer, Inc.
Initial release1985; 35 years ago
PlatformClassic Mac OS
TypeProgramming tools
LicenseProprietary
  1. Visual Basic For The Mac
  2. Basic For Mac Os X
  3. Basic For Sewing Machine

If you're wondering which Mac to buy, you've come to the right place. In our 2020 buying guide you'll find everything you need to know about the MacBook Air, MacBook Pro, Mac mini, iMac, iMac Pro. When you first turn on your Mac (or install an upgrade to the operating system), a series of questions and prompts appear, including a prompt to sign in to your Apple ID account or create a new Apple ID.

Macintosh Basic, or MacBASIC, was both a comprehensive programming language and a fully interactive development environment designed by Apple Inc. for the original Macintosh computer. It was developed by original Macintosh team member Donn Denman,[1] with help from fellow Apple programmers Marianne Hsiung, Larry Kenyon, and Bryan Stearns,[2] as part of the original Macintosh development effort starting in late 1981.[3][4]Andy Hertzfeld said, 'A BASIC interpreter would be important, to allow users to write their own programs. We decided we should write it ourselves, instead of relying on a third party, because it was important for the BASIC programs to be able to take advantage of the Macintosh UI, and we didn't trust a third party to 'get it' enough to do it right.'[5]

MacBASIC was released as beta software in 1985, and was adopted for use in places such as the Dartmouth College computer science department, for use in an introductory programming course. In November 1985, Apple abruptly ended the project as part of a deal with Microsoft to extend the license for BASIC on the Apple II.[6][7] Although Apple retracted MacBASIC, unlicensed copies of the software and manual still circulated, but because MacBASIC was no longer supported by Apple and was not designed to be 32-bit-clean, interest eventually died out.

Benchmarks published in the April 1984 issue of BYTE magazine suggested that MacBASIC had better performance as compared to Microsoft BASIC.[8] The language included modern looping control structures, user-defined functions, graphics, and access to the Macintosh Toolbox. The development environment supported multiple programs running simultaneously with symbolic debugging including breakpoints and single-step execution.

References[edit]

  1. ^Williams, Gregg (February 1984). 'The Apple Macintosh Computer'. BYTE. p. 30.
  2. ^'Mac GUI :: Re: Re: MAC Basic vs MS Basic?'. macgui.com. Retrieved 23 January 2015.
  3. ^'Folklore.org: MacBasic'. folklore.org. Retrieved 23 January 2015.
  4. ^Hertzfeld, A.; Capps, S. (2005). Revolution in The Valley: The Insanely Great Story of How the Mac Was Made. O'Reilly Media, Incorporated. p. 254. ISBN9780596007195. Retrieved 23 January 2015.
  5. ^Lorenzo, Mark (2017). Endless Loop: The History of the BASIC Programming Language. Philadelphia: SE Books. p. 98. ISBN978-1974-27707-0.
  6. ^'Gates: How Microsoft's Mogul Reinvented an Industry--and Made Himself the Richest Man in America: Stephen Manes, Paul Andrews: 9780671880743: Amazon.com: Books'. amazon.com. Retrieved 23 January 2015.
  7. ^Bill Atkinson interviewed on the TV show Triangulation on the TWiT.tv network
  8. ^'Mac GUI :: Benchmarking Microsoft vs Macintosh BASIC'. macgui.com. Retrieved 23 January 2015.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=MacBASIC&oldid=974365186'
FutureBasic
ParadigmProcedural
DeveloperStaz Software, FBtoC team
Stable release
OSMac OS
LicenseFreeware
Websitewww.brilorsoftware.com/FB/

FutureBasic is a freeBASICcompiler for Apple Inc.'s Macintosh.

It consists of an integrated development environment (IDE), editor, project manager, etc. for both PowerPC and Intelmicroprocessors. Since 1 January 2008, the package has contained a translator, FBtoC, that converts the FutureBasic syntax to C and automatically calls Apple's GNU Compiler Collection (gcc). No knowledge of C is required. FutureBasic supports access to Mac OS library calls.

History[edit]

FB began life in the mid-1980s[1] 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[2], Zedcor Inc., the company of the Gariepy brothers Andy, Mike, Peter and friends based in Tucson, Arizona presented FutureBASIC (later called FBI).[3] In 1995 Staz Software,[4] led by Chris Stasny, acquired the rights to market FutureBASIC. Chris Stasny started this business with an upgraded version, namely FBII,[5] and with his own development, the Program Generator[6] (PG PRO), a CASE tool.

The transition from 68k to PowerPC central processing unit (CPU) was a lengthy process that involved a complete rewrite of the editor by Chris Stasny and an adaptation of the compiler by Andy Gariepy. The result of their efforts, a dramatically enhanced IDE called FB^3[7], was released in September 1999[8], featuring among many other things a separate compiler application, various open, hence modifiable runtimes,[9] inline PPC assembly, a simplified access to the Macintosh Toolbox Application Programming Interface (API), as well as an expanded library of built-in functions. Major update releases introduced a full-featured Appearance Compliant[10] runtime written by Robert Purves and the Carbon compliance of generated applications. Once completely carbonized to run natively on the Mac OS X, the FutureBASIC Integrated Development Environment (FB IDE) was called FB4 and first released in July 2004.

Based in Diamondhead, Mississippi, Staz Software was severely hit by Hurricane Katrina in August 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.

In 2007, an independent team of volunteer FB programmers, known as the FBtoC team, developed a translator (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 Mac OS X system software.

On January 1, 2008, Staz Software announced that FB would henceforth be freeware and FB4 with FBtoC 1.0 was made available.[11]

Processor and operating system support[edit]

Visual Basic For The Mac

System requirements for original Macintosh release: Motorola 68000System requirements to create universal binaries with FBtoC: Mac OS X v10.4 or higher, GCC 4.0 or higher, and the Cross-development SDKs must be installed.

Syntax[edit]

FutureBasic syntax supports procedural, modular styles of programming using function calls and local variables.

Program flow & structural blocks[edit]

User-defined functions (a.k.a. LOCAL FNs in FutureBasic) are much like C or Pascal functions.

  • They can also be totally insulated from the main program (LOCAL MODE statement);
  • they allow recursion;
  • they can be called dynamically at runtime (DEF FN USING statement);
  • called automatically by FutureBasic built-in event vectors (ON EVENT FN statement);
  • used as cooperative threaded functions (THREADBEGIN statement).

Specific structures (ENTERPROC/EXITPROC) are used for callback procedures when calling the Macintosh Toolbox.

The language provides the programmer with a complete set of vectors for event-driven applications, such as ON MENU, ON MOUSE, ON DIALOG, ON APPLEEVENT, ON EDIT, ON TIMER, etc.

Other structured keywords include conditional blocks such as:

All work: mode dynamic, mode fixed, etc.NOTE:1. I install initially with Bios in dynamic mode2. Enable install automatically drivers from Microsoft (1.)9. Amd radeon hd 6770m imac.

  • LONG IF .. XELSE .. END IF
  • DO .. UNTIL
  • WHILE .. WEND
  • SELECT .. CASE.. CASE ELSE .. END SELECT
  • FOR .. NEXT

Legacy BASIC language commands such as: GOTO and GOSUB/RETURN with line numbers and labels - while discouraged - are supported for educational purposes.

An example of a simple program to input a number and display 'Hello World' is given below

Data types[edit]

FutureBasic supports complex data types include single and double precision floating points, double length integers, arrays, strings and records (similar to struct in C). Of note is the DYNAMIC array structures (size of memory footprint grows only when used) including DYNAMIC string arrays called INDEX$ and 'container' variables which can perform string-like operations on data streams up to 2Gb in size.

C and Pascal borrowed coding styles[edit]

Commenting in the code is substantial allowing REMark statements, and C style /* remark */ statements. Sections of code can be bookmarked for easy reference.

Basic For Mac Os X

Other alternate syntax borrowed from C allows the use of operators such as ++ -- != += -= &&

Characters in Pascal strings are accessible much like items of an array: a$[0] (length byte); a$[1] (first character in string a$).

While the FutureBasic language still supports old style variable typing with suffix identifiers, it provides a modern alternative with the as clause:dim b as byte; dim s as short, dim l as long; etc.

Bridges to other languages[edit]

  • AppleScript scripts can be assembled with FutureBasic statements then executed on the fly by a running application. Example:
  • FutureBasic allows the triggering of UNIX commands. Example:
  • FB allows inline C code. Example:

Basic For Sewing Machine

Limitations[edit]

  • No cross-platform development. This is a Macintosh-only compiler.

FutureBasic supports Macintosh Intel architectures but does not compile on or for any version of Microsoft Windows.[1] and see bottom of page at:[2]

The

References[edit]

  1. ^http://www.brilorsoftware.com/FB/index.htm
  2. ^https://freegroups.net/groups/futurebasic/
Wikibooks has a book on the topic of: Futurebasic
  1. ^ An history of Basic wars on the Mac platform by Jonathan Hoyle for MacCompanion, Part IMacCompanion, Part II
  2. ^ ZBasic 5 reviewed by Dave Kelly for MacTech magazine
  3. ^ FBI introduced major enhancements to the BASIC language, encouraging the developers to use named constants and local functions instead of subroutines for better structured programs and re-usable code.
  4. ^ Home of Staz Software,inc.
  5. ^ FBII was 32bit-clean and could run from Mac 128 to G5-based Macintosh in emulated mode.
  6. ^ Program Generator is a Rapid application development tool that is flexible enough to build sophisticated applications quickly for the Macintosh pre-Mac OS X environments. For Mac OS X, Appearance compliant programs onwards, FutureBASIC uses Apple's Interface Builder.
  7. ^ pronounced FB cubed.
  8. ^ A week later the European edition was released which included English, Italian, German (now discontinued) and French language versions. There is also a Japanese language edition.
  9. ^ Starting with FB^3, a runtime consists of include files written in FutureBASIC that are compiled along with the source 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.
  10. ^ The Appearance Compliant runtime allows access to most of the features of Apple's Appearance Manager.
  11. ^Welcome to the FBtoC Project and FutureBasic Freeware
Retrieved from 'https://en.wikipedia.org/w/index.php?title=FutureBASIC&oldid=966014279'
Comments are closed.