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
ALGOL W
(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!
{{Short description|Programming language based on a proposal for ALGOL X}} {{Use dmy dates|date=October 2020}} {{Infobox programming language | name = ALGOL W | paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[Procedural programming|procedural]], [[Imperative programming|imperative]], [[Structured programming|structured]] | family = [[ALGOL]] | designers = [[Niklaus Wirth]], [[Tony Hoare]] | released = {{Start date and age|1966}} | typing = [[Static type|Static]], [[Strong and weak typing|strong]] | scope = [[Scope (computer science)|Lexical]] | programming language = [[PL360]] | platform = [[IBM System/360]] | operating system = [[OS/360]], [[Michigan Terminal System|MTS]] | license = | file ext = | influenced by = [[ALGOL 60]] | influenced = [[Pascal (programming language)|Pascal]], [[Modula-2]] }} '''ALGOL W''' is a [[programming language]]. It is based on a proposal for [[ALGOL X]] by [[Niklaus Wirth]] and [[Tony Hoare]] as a successor to [[ALGOL 60]]. ALGOL W is a relatively simple upgrade of the original ALGOL 60, adding [[String (computer science)|string]], bitstring, [[complex number]] and [[Reference (computer science)|reference]] to [[Record (computer science)|record]] [[data type]]s and [[Evaluation strategy#Call by copy-restore|call-by-result]] passing of [[Parameter (computer programming)|parameters]], introducing the <code>while</code> statement, replacing <code>switch</code> with the <code>case</code> statement, and generally tightening up the language. Wirth's entry was considered too little of an advance over ALGOL 60, and the more complex entry from [[Adriaan van Wijngaarden]] that would later become [[ALGOL 68]] was selected in a highly contentious meeting. Wirth later published his version as ''A contribution to the development of ALGOL''.<ref name="Wirth">{{cite journal |last1=Wirth |first1=Niklaus |author1-link=Niklaus Wirth |last2=Hoare |first2=C. A. R. |author2-link=Tony Hoare |date=June 1966 |title=A contribution to the development of ALGOL |url=https://dl.acm.org/doi/10.1145/365696.365702 |journal=Communications of the ACM |volume=9 |issue=6 |pages=413β432 |doi=10.1145/365696.365702 |s2cid=11901135 |via=[[Association for Computing Machinery]] |access-date=2020-10-07|doi-access=free }}</ref> With a number of small additions, this eventually became ALGOL W. Wirth supervised a high quality implementation for the [[IBM System/360]] at [[Stanford University]] that was widely distributed.<ref name="Stanford">{{cite report |last1=Bauer |first1=Henry R. |last2=Becker |first2=Sheldon I. |last3=Graham |first3=Susan L. |last4=Forsythe |first4=George E. |last5=Satterthwaite |first5=Edwin H. |date=March 1968 |title=Technical Report Number: CS-TR-68-89 |url=http://www-db.stanford.edu/TR/CS-TR-68-89.html |website=Computer Science Department |publisher=Stanford University}} (Various documents for Stanford's 1972 implementation of ALGOL W; this report includes the ''ALGOL W Language Description''.</ref><ref name="TR71-230">{{cite web |last1=Sites |first1=Richard |title=ALGOL W Reference Manual |url=http://i.stanford.edu/pub/cstr/reports/cs/tr/71/230/CS-TR-71-230.pdf |website=i.stanford.edu |publisher=Stanford University |access-date=24 July 2022}}</ref> The implementation was written in [[PL360]], an ALGOL-like [[assembly language]] designed by Wirth. The implementation includes influential debugging and [[Profiling (computer programming)|profiling]] abilities. ALGOL W served as the basis for the [[Pascal (programming language)|Pascal]] language, and the syntax of ALGOL W will be immediately familiar to anyone with Pascal experience. The key differences are improvements to record handling in Pascal, and, oddly, the loss of ALGOL W's ability to define the length of an array at runtime, which is one of Pascal's most-complained-about features.
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)