Bringing Up BASIC
description
Transcript of Bringing Up BASIC
Bringing Up BASIC
Kenneth Dean
Adam Harmon
Kathrine Skollingsberg
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.
PetBASICCommodore 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
Random Screenshot
Our ExperienceStarted 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