Purpose General purpose programming - Easy for beginners. Meant for the less technical user lacking a math, computer background. Interactive - Allowing advanced features to be added. Quick response & clear error messages for small programs - No ‘compiler’
Quick History Developed by John Kemeny and Thomas Kurtz in 1963 at Dartmouth College.
PetBASIC Commodore BASIC aka PET BASIC, is the specific dialect of BASIC used in Commodore's 8-bit home computers. Licensed from Microsoft: “pay once, no royalties” PET Easter egg – enter [WAIT 6502,(x)] RUN screen will fill with “MICROSOFT!"
Commodore 64 8-bit home computer released in August 1982 (US$595). 22 million units sold (best-selling single personal computer model of all time). 64 kilobytes of RAM with sound and graphics superior to IBM-compatible computers of that time. Sold in retail stores instead of electronics stores. Approximately 4,000 commercial software titles were made Games: popularizing the computer demo scene. Graphics utilized 8 sprites, 16 colors. Nintendo Wii made available International Karate & Uridium for download and play via the Virtual Console service (more to come).
VICE VersatIle Commodore Emulator, is an emulator for Commodore's 8-bit computers
Our Experience Started developing levels for FS3. Buggy! Keyboard Mapping often caused crashes
Why BASIC isn’t so ‘basic’ anymore: “[compared to modern languages] BASIC is actually quite tedious and absurd for getting done the vast array of vivid and ambitious goals that are typical of a modern programmer. Clearly, any kid who wants to accomplish much in the modern world would not use it for very long.” --Farhad Manjoo WIRED Magazine
Evolution of BASIC Throughout the years there have been many implementations and advancements made to the BASIC language. Implementations of BASIC can be grouped into three categories Unstructured Structured or Procedural Object Oriented
Unstructured implementations Supported simple data types, loop cycles and arrays. Single line conditional statements Line numbers Command line interface No local variables 2 character limit on variable names Some examples of unstructured implementations include… Atari BASIC · Dartmouth BASIC · GW-BASIC · Microsoft BASICA · MSX BASIC · HP BASIC for OpenVMS
Dartmouth BASIC Developed in1964 The standard for all BASIC implementations Original version of the BASIC programming language. Intended to be used interactively.
Atari BASIC Atari BASIC had some aspects of the later more powerful implementations of BASIC Ability to simulate functions Includes
MSX BASIC ROM based Integrated command line based IDE Function key shortcuts listed at the bottom of the screen Designed to be as expandable as possible.
GW-BASIC Large number of graphics commands Programs executed relatively slow Disk based Very little support for structured programming
HP BASIC for OpenVMS FORTRAN-like extensions Line numbers are optional Built-in support for OpenVMS's Record Management Services (RMS).
Structured Implementations Subroutines While loops Line numbers optional More descriptive variable names Multiline conditional statements and loop blocks Some examples of structured implementations include… BBC BASIC · PowerBASIC · QuickBASIC · XBASIC · TrueBASIC · PureBASIC · QBASIC
BBC BASIC Developed in 1981 Inline assembler
PowerBASIC Programs are self-contained and do not require runtime files to execute. Both Windows versions include an IDE with debugger
TrueBASIC New functions for graphics primitives Mostly hardware-independent
QuickBASIC Developed by Microsoft in 1985 Integrated IDE and compiler User defined types Disk support
Modern day/OO Implementations Event driven programming Object-Oriented Some examples of modern day implementations… FreeBASIC · Gambas · REALbasic · StarOffice Basic · Visual Basic · Visual Basic.NET
GAMBAS Object-Oriented Integrated IDE Unix based
Visual Basic Event driven programming Scripting language support Access to Windows API (RAD) Rapid application development