Bringing Up BASIC

27
Bringing Up BASIC Kenneth Dean Adam Harmon Kathrine Skollingsberg

description

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. - PowerPoint PPT Presentation

Transcript of Bringing Up BASIC

Page 1: Bringing Up BASIC

Bringing Up BASIC

Kenneth Dean

Adam Harmon

Kathrine Skollingsberg

Page 2: Bringing Up BASIC

BASIC

Beginners All-purpose Symbolic Instruction Code

BASIC DIALECTS

Page 3: Bringing Up BASIC

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’

Page 4: Bringing Up BASIC

Quick History

Developed by John Kemeny and Thomas Kurtz in 1963 at Dartmouth College.

Page 5: Bringing Up BASIC

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!"

Page 6: Bringing Up BASIC

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).

Page 7: Bringing Up BASIC

VICE

• VersatIle Commodore Emulator, is an emulator for Commodore's 8-bit computers

Page 8: Bringing Up BASIC

Random Screenshot

Page 9: Bringing Up BASIC

Our ExperienceStarted developing levels for FS3.

Buggy!Keyboard Mapping<Shift> often caused crashes

Page 10: Bringing Up BASIC

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

Page 11: Bringing Up BASIC

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

Page 12: Bringing Up BASIC

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

Page 13: Bringing Up BASIC

Dartmouth BASIC

• Developed in1964• The standard for all BASIC implementations• Original version of the BASIC programming language. • Intended to be used interactively.

Page 14: Bringing Up BASIC

Atari BASIC

• Atari BASIC had some aspects of the later more powerful implementations of BASIC

• Ability to simulate functions• Includes

Page 15: Bringing Up BASIC

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.

Page 16: Bringing Up BASIC

GW-BASIC

• Large number of graphics commands• Programs executed relatively slow• Disk based • Very little support for structured programming

Page 17: Bringing Up BASIC

HP BASIC for OpenVMS

• FORTRAN-like extensions• Line numbers are optional• Built-in support for OpenVMS's Record Management

Services (RMS).

Page 18: Bringing Up BASIC

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

Page 19: Bringing Up BASIC

BBC BASIC

• Developed in 1981 • Inline assembler

Page 20: Bringing Up BASIC

PowerBASIC

• Programs are self-contained and do not require runtime files to execute.

• Both Windows versions include an IDE with debugger

Page 21: Bringing Up BASIC

TrueBASIC

• New functions for graphics primitives • Mostly hardware-independent

Page 22: Bringing Up BASIC

QuickBASIC

• Developed by Microsoft in 1985• Integrated IDE and compiler• User defined types• Disk support

Page 23: Bringing Up BASIC

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

Page 24: Bringing Up BASIC

GAMBAS

• Object-Oriented• Integrated IDE• Unix based

Page 25: Bringing Up BASIC

Visual Basic

• Event driven programming• Scripting language support• Access to Windows API• (RAD) Rapid application development

Page 26: Bringing Up BASIC

VB.NET

• Structured exception handling • Object-Oriented

Page 27: Bringing Up BASIC

FreeBASIC

• Open Source• Support for use of C and some C++ libraries • Built in 2D graphics library