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