Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Dartmouth BASIC
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===SBASIC=== In 1976, Stephen Garland collected a number of [[structured programming]] additions to create Dartmouth Structured BASIC, or SBASIC.{{sfn|Garland|1976}} The primary goal was to replace the control structures based on <code>IF...THEN</code> and <code>GOTO</code> with a variety of block-oriented structures. It did this using a precompiler that took SBASIC source code, converted that to 6th Edition BASIC, and then compiled and ran that as normal. SBASIC also added a number of graphics features, based on the <code>PLOT</code> command that had been added by other programmers.{{sfn|Garland|1976|p=1}} Block structures were terminated by matching statements as was the case in [[ALGOL 68]], as opposed to the generic block structures found in languages like [[Pascal (programming language)|Pascal]] or [[C (programming language)|C]]. For instance, the <code>DO WHILE...</code> spanned multiple lines until it ended with a <code>LOOP</code>.{{sfn|Garland|1976|p=4}} The <code>DO</code> loop could also be bottom exited by removing the <code>WHILE</code> or <code>UNTIL</code> and placing the conditional at the bottom on the <code>LOOP</code>. Infinite loops were supported using <code>DO FOREVER</code> or <code>LOOP FOREVER</code>.{{sfn|Garland|1976|p=5}} "Original" Dartmouth BASIC did not allow statements after a <code>THEN</code>, only a line number to branch to. SBASIC allowed any statement, so for instance {{code|2=basic|1=IF X < 5 THEN X=X+1}}.{{sfn|Garland|1976|p=6}} This basic expansion to the <code>IF...THEN</code>, pioneered in 1972 with [[BASIC-PLUS]],<ref>{{cite book|url=https://archive.org/details/bitsavers_decpdp11rsSICPLUSLangManOct72_10455777|title=BASIC-PLUS Language Manual|publisher=Digital Equipment Corporation|year=1972|location=Maynard, Massachusetts|type=PDF|pages=3β13|ref=CITEREFPLUS1972}}</ref> was already widely supported by most variety of BASICs by this point, including [[microcomputer]] versions that were being released at this time. On top of this, SBASIC added block-oriented <code>IF</code> by placing the <code>THEN</code> on a separate line and then ending the block with <code>CONTINUE</code>.{{sfn|Garland|1976|p=7}} On top of this, SBASIC added the <code>SELECT CASE</code> mechanism that survives to this day in [[Visual Basic .NET]].{{sfn|Garland|1976|p=10}} SBASIC also added a number of graphics commands intended to be used with [[plotter]]s. This required the <code>PLOTTER "plottername"</code> to direct subsequent commands to a selected device, and the <code>WINDOW...</code> to set up its parameters. From then on, <code>PLOT X,Y</code> would produce dots on the selected plotter, while adding the semicolon at the end of the statement, as used in <code>PRINT</code>, would leave the pen on the paper and produce a line, for instance <code>PLOT 10,10;20,20</code>.{{sfn|Garland|1976|p=21}}<ref>Stephen J. Garland and Arthur W. Luehrmann, "Graphics in the BASIC language," ''Computer Graphics'' (quarterly report of SIGGRAPH-ACM) 8:3, pages 1β8, 1974.</ref> SBASIC eventually formed the basis of the 1987 [[ANSI BASIC|ANSI X3.113-1987 Standard for Full Basic]], which extended the earlier 1978 ANSI ANSI X3.60-1978 Standard for Minimal Basic. The long delay in producing that standard, along with the lack of regard among computer scientists for unstructured Basic, led the College Board committee developing the [[AP Computer Science|Advanced Placement Course in Computer Science]], which Garland chaired, to opt for requiring Pascal and not allowing Basic as the language for the course.<ref>{{cite magazine |magazine=InfoWorld |date=6 September 1982 |first=Scott |last=Mace |title=College Board developing Pascal-based AP course |page=29 |url=https://books.google.com/books?id=CDAEAAAAMBAJ&pg=PA29}}</ref><ref>Stephen J. Garland, "Advanced Placement Computer Science," ''Computers in Mathematics Education'', Viggo P. Hansen and Marilyn J. Zweng (editors), pages 194β201. Yearbook of the National Council of Teachers of Mathematics, 1984.</ref> Garland used SBASIC to teach the introductory course in computer science at Dartmouth,<ref>Stephen J. Garland, ''Introduction to Computing and Basic Programming'', Program in Computer and Information Science, Dartmouth College, 1982.</ref><ref>Stephen J. Garland, "Languages for first courses in computer science: Basic," ''Abacus'' 1:4, pages 39β49, Summer 1984.</ref> but rewrote his textbook for the course in Pascal<ref>Stephen J. Garland, ''Introduction to Computer Science with Applications in Pascal'', Addison-Wesley, Reading, MA, 1986.</ref> so that it could be used to teach the AP course.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)