Jump to content

S-BASIC: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Citation bot (talk | contribs)
Removed parameters. | You can use this bot yourself. Report bugs here. | Suggested by Abductive | All pages linked from cached copy of User:Abductive/sandbox | via #UCB_webform_linked 35/999
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 7 templates: del empty params (39×); hyphenate params (2×);
Line 1: Line 1:
{{About|the Kaypro Basic|Dartmouth Structured BASIC|Dartmouth BASIC#SBASIC|the more recent Basic that uses the filename "sbasic"|SmallBASIC}}
{{About|the Kaypro Basic|Dartmouth Structured BASIC|Dartmouth BASIC#SBASIC|the more recent Basic that uses the filename "sbasic"|SmallBASIC}}
'''S-BASIC''' (for '''Structured Basic''') was a "structured" [[BASIC]] variant, distributed with [[Kaypro]] [[CP/M]] systems.<ref>{{cite web |url=http://fixunix.com/cp-m/400-sbasic.html |title=Archived copy |access-date=2009-04-16 |url-status=dead |archive-url=https://web.archive.org/web/20101208220310/http://fixunix.com/cp-m/400-sbasic.html |archive-date=2010-12-08 |df= }}</ref>{{r|pournelle198306}} It was made by Topaz Programming is distributed by Micro-Ap (San Ramon, CA).<ref name=Miller>
'''S-BASIC''' (for '''Structured Basic''') was a "structured" [[BASIC]] variant, distributed with [[Kaypro]] [[CP/M]] systems.<ref>{{cite web |url=http://fixunix.com/cp-m/400-sbasic.html |title=Archived copy |access-date=2009-04-16 |url-status=dead |archive-url=https://web.archive.org/web/20101208220310/http://fixunix.com/cp-m/400-sbasic.html |archive-date=2010-12-08 }}</ref>{{r|pournelle198306}} It was made by Topaz Programming is distributed by Micro-Ap (San Ramon, CA).<ref name=Miller>
{{Citation|last=Miller |first=A.R. |authorlink= |title=SBasic: A Structured, Compiling Language for CP/M |journal=Interface Age |volume=6 |issue=4 |pages=92–96 |publisher=McPheters, Wolfe & Jones |location=[[Cerritos, California]] |date=April 1981 |url=http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=0036384CI&q=sbasic+programming&uid=1108305&setcookie=yes |doi= |id=0-71486-02631 04 |access-date=21 May 2009 |url-status=dead |archive-url=https://web.archive.org/web/20120223151327/http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=0036384CI&q=sbasic+programming&uid=1108305&setcookie=yes |archive-date=February 23, 2012 }}
{{Citation|last=Miller |first=A.R. |title=SBasic: A Structured, Compiling Language for CP/M |journal=Interface Age |volume=6 |issue=4 |pages=92–96 |publisher=McPheters, Wolfe & Jones |location=[[Cerritos, California]] |date=April 1981 |url=http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=0036384CI&q=sbasic+programming&uid=1108305&setcookie=yes |id=0-71486-02631 04 |access-date=21 May 2009 |url-status=dead |archive-url=https://web.archive.org/web/20120223151327/http://md1.csa.com/partners/viewrecord.php?requester=gs&collection=TRD&recid=0036384CI&q=sbasic+programming&uid=1108305&setcookie=yes |archive-date=February 23, 2012 }}
</ref>
</ref>


Line 13: Line 13:
| url = http://www.gbcsci.com/products/uv/spectral_software.asp
| url = http://www.gbcsci.com/products/uv/spectral_software.asp
| title = UV-Visible spectrophotometer - Spectral Software
| title = UV-Visible spectrophotometer - Spectral Software
| accessdate = 21 May 2009
| access-date = 21 May 2009
| author =
| last =
| first =
| authorlink =
| date =
| year =
| format =
| work =
| publisher =
| location =
| pages =
| language =
| doi =
| quote =
}}
}}
</ref><ref>{{Citation
</ref><ref>{{Citation
| last = Paul
| last = Paul
| first = Liberatore
| first = Liberatore
| author-link =
| title = Simplifying Routine Analyses using Spectral SBasic Programming Language—Chlorophyll Analysis
| title = Simplifying Routine Analyses using Spectral SBasic Programming Language—Chlorophyll Analysis
| place =
| publisher = GBC Scientific Application Notes—UV-Visible
| publisher = GBC Scientific Application Notes—UV-Visible
| year =
| volume =
| edition =
| url = http://www.gbcscientific.com/appnotes/uv_app_note_008.pdf
| url = http://www.gbcscientific.com/appnotes/uv_app_note_008.pdf
}}</ref>
| doi =
| id =
| isbn = }}</ref>


==Reception==
==Reception==
[[Jerry Pournelle]] in 1983 wrote that S-BASIC "is quite nice", stating that it "rivals CB-80". He presumed that Kaypro users would "will begin by using Microsoft [[MBASIC]], then start translating their programs into S-BASIC and learn more about structured programming". Pournelle added, "If I had to give an award for the most unreadable computer document I've ever seen, the original S-BASIC manual would win hands down"; however, Kaypro had rewritten it and "is a great deal more sensible".<ref name="pournelle198306">{{cite news | url=https://archive.org/stream/byte-magazine-1983-06/1983_06_BYTE_08-06_16-Bit_Designs#page/n411/mode/2up | title=Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem | work=BYTE | date=June 1983 | accessdate=20 October 2013 | author=Pournelle, Jerry | volume=8 | issue=6 | pages=411}}</ref>
[[Jerry Pournelle]] in 1983 wrote that S-BASIC "is quite nice", stating that it "rivals CB-80". He presumed that Kaypro users would "will begin by using Microsoft [[MBASIC]], then start translating their programs into S-BASIC and learn more about structured programming". Pournelle added, "If I had to give an award for the most unreadable computer document I've ever seen, the original S-BASIC manual would win hands down"; however, Kaypro had rewritten it and "is a great deal more sensible".<ref name="pournelle198306">{{cite news | url=https://archive.org/stream/byte-magazine-1983-06/1983_06_BYTE_08-06_16-Bit_Designs#page/n411/mode/2up | title=Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem | work=BYTE | date=June 1983 | access-date=20 October 2013 | author=Pournelle, Jerry | volume=8 | issue=6 | pages=411}}</ref>


==References==
==References==
Line 53: Line 32:
| last = Garland
| last = Garland
| first = S.J.
| first = S.J.
| author-link =
| title = Structured programming, graphics, and SBASIC
| title = Structured programming, graphics, and SBASIC
| place = [[Hanover, New Hampshire]]
| place = [[Hanover, New Hampshire]]
| publisher = Kiewit Computation Center. SP028
| publisher = Kiewit Computation Center. SP028
| year = 1976
| year = 1976
}} ([http://portal.acm.org/citation.cfm?id=808376 reference])
| volume =
| edition =
| url =
| doi =
| id =
| isbn = }} ([http://portal.acm.org/citation.cfm?id=808376 reference])
* {{Citation
* {{Citation
| last = Hardy
| last = Hardy
| first = S.
| first = S.
| author-link =
| title = Graphics in BASIC and structured BASIC
| title = Graphics in BASIC and structured BASIC
| place = [[Hanover, New Hampshire]]
| place = [[Hanover, New Hampshire]]
| publisher = Kiewit Computation Center. TM110.
| publisher = Kiewit Computation Center. TM110.
| date = February 1978
| date = February 1978
}} ([http://portal.acm.org/citation.cfm?id=808376 reference])
| volume =
| edition =
| url =
| doi =
| id =
| isbn = }} ([http://portal.acm.org/citation.cfm?id=808376 reference])


{{BASIC}}
{{BASIC}}

Revision as of 02:58, 27 November 2020

S-BASIC (for Structured Basic) was a "structured" BASIC variant, distributed with Kaypro CP/M systems.[1][2] It was made by Topaz Programming is distributed by Micro-Ap (San Ramon, CA).[3]

SBasic was compatible with the syntax of BASIC, a programming language commonly used in the 1970s through the 1980s, as well as Fortran77. However, the language relaxed many of the requirements of BASIC and had more flexibility than Fortran. For instance, line numbers were optional, and permitted non-numeric characters. In addition, SBasic offered developers structured programming concepts, including recursion and nesting. Many PL-1 programs could be compiled with little modification, though SBasic did not offer an extensive function library.

Among the more advanced features was the ability to "base" a variable or array, making the memory location dynamic and modifiable during execution. SBasic programs had the ability to access memory areas reserved for the operating system unless prohibited from doing so by the operating system itself. (Kaypro's CP/M had no such prohibitions.) This enabled direct utilization and modification of DMA and other memory areas. This feature also permitted a program to modify itself at run-time. This capability also allowed modifying the instruction pointer, so a program could effectively link other executable modules that were read during execution as data.

Unlike BASIC interpreters that stored "p-code" that was parsed by an execution module, SBasic was a two-pass compiler, ultimately producing .com files that were executable. The language was written in a subset of itself and compiled using a .com kernel, then stored on diskette (or hard drive on the last KayPro model). The source was distributed with some KayPro models. This encouraged open-source-like modification of the language, with some early pre-Internet user groups exchanging physical diskettes by regular mail.

Not to be confused with the namesake SBasic (S for Spectral Basic) Programming Language for the commercial Spectral UV-Visible software.[4][5]

Reception

Jerry Pournelle in 1983 wrote that S-BASIC "is quite nice", stating that it "rivals CB-80". He presumed that Kaypro users would "will begin by using Microsoft MBASIC, then start translating their programs into S-BASIC and learn more about structured programming". Pournelle added, "If I had to give an award for the most unreadable computer document I've ever seen, the original S-BASIC manual would win hands down"; however, Kaypro had rewritten it and "is a great deal more sensible".[2]

References

  1. ^ "Archived copy". Archived from the original on 2010-12-08. Retrieved 2009-04-16.{{cite web}}: CS1 maint: archived copy as title (link)
  2. ^ a b Pournelle, Jerry (June 1983). "Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem". BYTE. Vol. 8, no. 6. p. 411. Retrieved 20 October 2013.
  3. ^ Miller, A.R. (April 1981), "SBasic: A Structured, Compiling Language for CP/M", Interface Age, 6 (4), Cerritos, California: McPheters, Wolfe & Jones: 92–96, 0-71486-02631 04, archived from the original on February 23, 2012, retrieved 21 May 2009
  4. ^ UV-Visible spectrophotometer - Spectral Software, retrieved 21 May 2009
  5. ^ Paul, Liberatore, Simplifying Routine Analyses using Spectral SBasic Programming Language—Chlorophyll Analysis (PDF), GBC Scientific Application Notes—UV-Visible
Notes