Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
SNOBOL
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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!
== Development == === SNOBOL1 === The initial SNOBOL language was created as a tool to be used by its authors to work with the symbolic manipulation of polynomials. It was written in assembly language for the [[IBM 7090]]. It had a simple syntax, only one datatype, the string, no functions, and no declarations and very little error control. However, despite its simplicity and its "personal" nature its use began to spread to other groups. As a result, the authors decided to extend it and tidy it up. === SNOBOL2 === SNOBOL2 did exist but it was a short-lived intermediate development version without user-defined functions and was never released. === SNOBOL3 === SNOBOL was rewritten to add functions, both standard and user-defined, and the result was released as SNOBOL3. SNOBOL3 became quite popular and was rewritten for other computers than the IBM 7090 by other programmers. As a result, several incompatible dialects arose. === SNOBOL4 === As SNOBOL3 became more popular, the authors received more and more requests for extensions to the language. They also began to receive complaints about incompatibility and bugs in versions that they hadn't written. To address this and to take advantage of the new computers being introduced in the late 1960s, the decision was taken to develop SNOBOL4 with many extra datatypes and features but based on a [[virtual machine]] to allow improved portability across computers.<ref>See Chapter 1 of ''The Macro Implementation of SNOBOL4''</ref> The SNOBOL4 language translator was still written in assembly language. However the macro features of the assembler were used to define the virtual machine instructions of the '''S'''NOBOL '''I'''mplementation '''L'''anguage, the SIL. This very much improved the portability of the language by making it relatively easy to port the virtual machine which hosted the translator by recreating its virtual instructions on any machine which included a macro assembler or indeed a high level language.<ref>SNOBOL4 has been implemented using C to recreate the virtual machine instructions.</ref> The machine-independent language SIL arose as a generalization of string manipulation macros by [[Douglas McIlroy]], which were used extensively in the initial SNOBOL implementation. In 1969, McIlroy influenced the language again by insisting on addition of the table type to SNOBOL4.<ref name="Gris78">{{cite journal |last=Griswold |first=Ralph |author-link=Ralph Griswold |title=A history of the SNOBOL programming languages |journal=ACM SIGPLAN Notices |pages=275β308 |volume=13 |number=8 |year=1978 |doi=10.1145/960118.808393 |s2cid=5413577 |url=http://pdfs.semanticscholar.org/a404/c09b14e2b03496604387f532fd33975179ec.pdf |archive-url=https://web.archive.org/web/20190302233559/http://pdfs.semanticscholar.org/a404/c09b14e2b03496604387f532fd33975179ec.pdf |url-status=dead |archive-date=2019-03-02 }}</ref><ref>{{cite book |editor-link=Richard Wexelblat|editor-first=Richard L. |editor-last=Wexelblat |title=History of Programming Languages |orig-year=1981 |year=2014 |publisher=Academic Press |isbn=9781483266169 |pages=784}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
SNOBOL
(section)
Add topic