270 likes | 398 Views
Kenneth Dean Adam Harmon Kathrine Skollingsberg. Bringing Up BASIC. BASIC. B eginners A ll-purpose S ymbolic I nstruction C ode. BASIC DIALECTS. Purpose. General purpose programming - Easy for beginners. Meant for the less technical user lacking a math, computer background.
E N D
Kenneth Dean Adam Harmon Kathrine Skollingsberg Bringing Up BASIC
BASIC Beginners All-purpose Symbolic Instruction Code BASIC DIALECTS
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 <Shift> 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
VB.NET • Structured exception handling • Object-Oriented
FreeBASIC • Open Source • Support for use of C and some C++ libraries • Built in 2D graphics library