Basic Language

Beginner's All-purpose Symbolic Instruction Code.

The original BASIC language was DartmouthBasic, invented by ThomasKurtz and JohnKemeny around 1964. Its TeleType-friendly editing approach is probably one of the biggest reasons for its long-standing success.

So BASIC apparently was intended for beginners. This raises the question, IsBasicEasy?

  10 PRINT "Enter a number, zero to stop:";
  20 INPUT A
  30 IF A = 0 THEN GOTO 70
  40 LET A = A + 10
  50 PRINT "The number plus 10 is "; A
  60 GOTO 10
  70 STOP


BASIC variants still popular today


Nostalgic BASIC variants that were once popular


The original SmalltalkSeventyTwo implementation was written in BASIC, as BASIC was the only interactive computing system available to DanIngalls at the time. "I'm not ashamed, I got it going quickly." - http://video.google.co.uk/videoplay?docid=2409496407757723940


"Most BASIC languages written for 8-bit microcomputers were variants of MicrosoftBasic."

HA! Most 8 bit BASICs had nothing to do with Microsoft's "MBASIC." They were all quite independent. And incompatible with each other...

Ignorance is bliss, I guess. But deadly to a convincing argument. CommodoreBasic and AppleBasic? (not IntegerBasic?, however) were both produced by Microsoft. Commodore used Microsoft BASIC from the first release of the PETs, as far as Google is able to tell me. Atari opted not to use Microsoft BASIC on the basis that it'd require 2K more than they could fit in ROM (10K versus 8K; note that about 2K of the Commodore 64's Kernal ROM is dedicated to BASIC). It turns out Atari's BASIC was a closer match to DartmouthBasic anyway.

--SamuelFalvo?


A basic BASIC interpreter (HaHa?) is fairly trivial to implement: BasicEmulatorInJava

Actually here is an article on implementing BASIC using Java - http://www.javaworld.com/article/2076921/learn-java/how-to-build-an-interpreter-in-java--part-1--the-basics.html


As I understand it, Bill Gates' original BASIC became Microsoft "MBASIC", which ran on 8-bit CP/M systems. It was similar, in my opinion, with DEC "BASIC*PLUS", which ran under RSTS on PDP-11 systems (and possibly other platforms; I really wouldn't know).

It had competition on the 8-bit CP/M platform - CBASIC - which was a really nice pseudo-compiled language that did *NOT* require line numbers on every line.

-- JeffGrigg

Actually, it would be more accurate to say that most BASIC interpreters for 8-bit micros had at least some code from Microsoft. Even CommodoreBasic; note the copyright screen from the Commodore 128 says "Copyright 1977 Microsoft."

That's not quite right either. It's just that Microsoft widely licensed its Basic. They charged $100k for a source code license circa 1980. If you saw a copyright notice like that, there's every reason to think that Commodore simply licensed MS Basic, not that they used "at least some code" from it.

Nope -- it is absolutely right. In 1977, Commodore purchased an implementation of, and a royalty-free license to (re)use, BASIC from Microsoft, which Microsoft implemented as CBM BASIC 1.0. Subsequent versions were modifications, admittedly by Commodore, but the basic software was Microsoft's work. Compare the raw assembly listings of AppleBasic? against CommodoreBasic and you'll see a huge amount of common overlap. Even the GETCHR routine, placed in zero-page memory (albeit at different locations, IIRC), is identical.

It's been said that the royalty-free licenses were the biggest financial mistake Microsoft has made back then. It's likely this "mistake" that has significantly influenced future corporate policies at Microsoft, making them into the mean-as-hell monster that it is today.

--SamuelFalvo?

What exactly are you disagreeing with? I said "to think that Commodore simply licensed MS Basic", and you seem to be in vehement agreement.

As for the royalty-free issue, I disagree, but that would appear to be a matter of opinion.


Basic was designed as a LanguageForTeaching, however, it was badly designed for that. PascalLanguage and later OberonLanguage, and SchemeLanguage are good languages designed for teaching, since they implement important concepts and enforce good practices in programming.

Actually, OberonLanguage was not designed for teaching. Like Modula-2, it was designed to actually be used in a production environment. --SamuelFalvo?

However, Basic was very easy to implement (there is even dds, an entry to the 1990 InternationalObfuscatedCeeCodeContest that implements a Basic interpreter in only 8 lines of C). Because of that, every microcomputer in the 80s came with Basic installed. This remained true until Macs and Windows appeared, since any programming library is difficult to implement for a windowing system and Basic would be the worst choice of language for it.

(Arguably false; what makes BASIC any less applicable to a GUI environment than, say, Scheme? Or C? Indeed, C is far and above the worst possible language to use, because the structure of the language is fundamentally opposed to how GUIs work. Meanwhile, with BASIC, you can add keywords to support the constructs (e.g., AmigaBasic and GfaBasic?), making your life substantially easier. And, yet, C ended up the language of choice due, in large part, to fad. Remember, MacOS was written in PascalLanguage at first. If you want a language that's awesome to work with in a GUI context, I suspect you'll want none other than LispLanguage or SmalltalkLanguage, both of which existed at the time too, and had both demonstrated clear superiority over other languages for supporting GUI work. --SamuelFalvo?)

Commodore 64 Basic was acutally widely criticized for the lack of built-in graphics and sound commands (you had to program VIC and SID registers directly with binary using PEEK and POKE commands). On the contrary, ZX Spectrum and Atari Basics where quite capable in this respect. VisualBasic is a monster. It is the typical wrong thing that sells. No RealProgrammer would program in VisualBasic. It spreads like a cancer because of the sheer power of Microsoft. It is possible that CsharpLanguage is a cure for it, but VisualBasic has demonstrated a very long and unexpected life, when analysed from different quality perspectives.

-- GeraldoXexeo


Why is TurboBasic not mentioned as actually in use (I think it's Borland's [I just went through the TurboPascal page, I know the same firm had a Pascal compiler too, and also one for C I believe]). Compiled Basic really isn't demoded! I did learn to program on a Commodore 64. So BASIC is at my programming roots. -- PieterJansegers

TurboBasic was actully written by Robert Zale who reacquired the license for the product and sold it rebranded as PowerBASIC. http://www.powerbasic.com/aboutpb.asp --- George W. Bleck


Yoda-BASIC:

  "HELLO WORLD", 10 PRINTS
  GOTO 10, 20 DOES
Human-BASIC for comparison:
  10 PRINT "HELLO WORLD"
  20 GOTO 10
. . . . . . .

Amazing how much "Yoda-Basic" looks like Forth...

May the Forth be with you. -t


Indeed, to see just how extensively distributed Microsoft's BASIC became for the 8-bit community, just look at this article:

http://www.pagetable.com/?p=43 BrokenLink?


Non IT co-worker: "Your code there must be for morons. It's fall of DIM, SUB, as in sub-human, and STRING, like string and chicken-wire. I bet there's a DUCT TAPE command in there also. It even has to beg: "LET"."


Moved discussion about a new tool's scripting language to BasicLikeGlueLanguage


CategoryProgrammingLanguage


EditText of this page (last edited October 22, 2014) or FindPage with title or text search