Penguin
Annotated edit history of BASIC version 29, including all changes. View license author blame.
Rev Author # Line
18 StuartYeates 1 [Acronym] for __B__eginners __A__ll-Purpose __S__ymbolic __I__nstruction __C__ode (supposedly a [Backronym], made up after the name [BASIC] was already in use).
17 zcat(1) 2
20 AristotlePagaltzis 3 <verbatim>
4 10 PRINT "This is a"
5 20 PRINT "Haiku program"
6 30 GOTO 10
7 </verbatim>
10 GerwinVanDeSteeg 8
11 AristotlePagaltzis 9 A simplistic interactive ProgrammingLanguage designed at Dartmouth University in the 1960's to teach mathematics students how to program. They would go on to programming in [Fortran] IV, so this is the language that [BASIC] most closely resembles.
15 AristotlePagaltzis 10
29 IanMcDonald 11 Not to be confused with VisualBasic, a wildly extended dialect of [BASIC] that only resembles its ancestor remotely and is still part of MicrosoftCorporation's portfolio and strategy. Also QuickBASIC from Microsoft (Not to be confused with QBASIC which was a very cutdown version included with [DOS] 5 mainly used as the line editor for DOS. QuickBASIC for DOS was a compiler with a powerful IDE and lots of built in commands and functions. Both QuickBASIC and VisualBASIC are more stuctured langauge than the original BASIC. I would love to see a port of QuickBASIC for linux.
10 GerwinVanDeSteeg 12
19 AristotlePagaltzis 13 In the original [BASIC] language, the available control structures are as primitive as those in AssemblyLanguage. A [BASIC] program is series of numbered statements that are usually executed in sequence. A __[GOTO| GoTo]__ statement sends execution to another statement. An __IF__ statement does that conditionally. Using __GOSUB__ and __RETURN__ you can implement subroutines, but there's no stack to pass parameters with.
10 GerwinVanDeSteeg 14
23 AristotlePagaltzis 15 As there are no structuring constructs, there is no concept of scope, and every single variable is global. In the absence of user defined functions, expressiveness is extremely limited, so you need a ''lot'' of temporary variables. Combine these limitations, and the result is that most [BASIC] code is a mess that ranges somewhere between “hideous” and “appalling,” with occasional side trips to “hair raising” and “seizure inducing.”
10 GerwinVanDeSteeg 16
20 AristotlePagaltzis 17 ''It is practically impossible to teach good programming style to students that ~[sic] have had prior exposure to [BASIC]; as potential programmers they are mentally mutilated beyond hope of regeneration.''
23 AristotlePagaltzis 18 <br> – EdsgerWybeDijkstra
10 GerwinVanDeSteeg 19
26 AristotlePagaltzis 20 The language is so pathetically limited that it needs to be heavily extended to be useful. Of course, every implementor chose their own ways to do so, so there are thousands of dialects of [BASIC]. Some have quite sophisticated extensions, and most of those still in use, such as the excellent [PowerBASIC | http://www.powerbasic.com/] compiler, have been extended to strongly resemble [Pascal].
10 GerwinVanDeSteeg 21
22 AristotlePagaltzis 22 [BASIC] became very popular in the era of HomeComputer~s because a [BASIC] interpreter is simple and so could easily be fit on a tiny [ROM]. Lots of little kids learned to program in one of the thousands of flavours of [BASIC] this way, some never to recover.
10 GerwinVanDeSteeg 23
23 AristotlePagaltzis 24 BillGates (who for all we know is probably one of those never-recovered [BASIC] kids) started MicrosoftCorporation selling [BASIC] interpreters for various machines. Even the first [PC]s had it in [ROM], waiting to be activated by an __INT 18__ instruction. ''(I remember trying it in [DOS]'s debug program, and the machine would lock up saying “no BASIC ROM installed” or something. Sad…)'' Ever since, MicrosoftCorporation's strategic products have been accompanied by ever evolving, ever less [BASIC]-like dialects of the language. You have probably heard of VisualBasic, which is only the latest (series of) rendition(s).
11 AristotlePagaltzis 25
24 SamJansen 26 There is little use for [BASIC] on [Linux]. If you you think you want [BASIC], then you'd probably be happier with [Python] and a good learn-Python textbook.
27
28 There are some projects out there that implement modern [BASIC] interpreters and/or compilers in Linux. Examples of such are:
29 * [wxBasic|http://wxbasic.sourceforge.net/] - a [BASIC] interpreter that has bindings to [wxWidgets].
30 * [mbas|http://www.go-mono.com/mbas.html] - Visual [BASIC] in [Mono].
31 * [GLBCC|http://lbpp.sourceforge.net/] - GNU Liberty [BASIC] Compiler Collection.
26 AristotlePagaltzis 32 * [PowerBASIC is being ported to Linux | http://www.powerbasic.com/faq/faq02.html].
10 GerwinVanDeSteeg 33
34 ----
16 AristotlePagaltzis 35 CategoryProgrammingLanguages, CategoryDeprecatedProgrammingLanguages

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()