Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
BASIC
Edit
PageHistory
Diff
Info
LikePages
[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). <verbatim> 10 PRINT "This is a" 20 PRINT "Haiku program" 30 GOTO 10 </verbatim> 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. 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. 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. 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.” ''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.'' <br> – EdsgerWybeDijkstra 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]. [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. 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). 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. There are some projects out there that implement modern [BASIC] interpreters and/or compilers in Linux. Examples of such are: * [wxBasic|http://wxbasic.sourceforge.net/] - a [BASIC] interpreter that has bindings to [wxWidgets]. * [mbas|http://www.go-mono.com/mbas.html] - Visual [BASIC] in [Mono]. * [GLBCC|http://lbpp.sourceforge.net/] - GNU Liberty [BASIC] Compiler Collection. * [PowerBASIC is being ported to Linux | http://www.powerbasic.com/faq/faq02.html]. ---- CategoryProgrammingLanguages, CategoryDeprecatedProgrammingLanguages
12 pages link to
BASIC
:
HomeComputer
Backronym
BillGates
GoTo
CarlWyles
Interpreter
VisualBasic
ShakespeareProgrammingLanguage
Acorn
WhyIHatePerl
ProgrammingLanguage
HelloWorld