Penguin

Differences between version 4 and predecessor to the previous major change of Algol.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 4 Last edited on Saturday, September 18, 2004 8:00:32 am by DougMerritt Revert
Older page: version 3 Last edited on Monday, December 8, 2003 12:36:20 am by SamJansen Revert
@@ -2,19 +2,29 @@
  
 The first ProgrammingLanguage with a context-free grammar (BackusNaurForm was invented to describe it). It was a simple [Pascal]-like language (actually, the predecessor to Pascal) meant for expressing mathematical algorithms. The uglier language [Fortran] was already being used for this, and had the support of [IBM], so Algol 60 never really took off. Many [systems programming |http://www.wlug.org.nz/CategorySystemsProgrammingLanguages ] extensions of Algol were created in the 60's, notably by Burroughs Corporation, which no longer exists. [C] now fills that role. 
  
 Algol 60 on Linux: The [GNU] Project's [MARST Algol-to-C translator | http://www.gnu.org/software/marst/]. 
+  
+Introduced static scoping.  
  
 !!! Algol 68 
  
 A general purpose successor to Algol 60 designed by a committee over many years. Too many years: history passed it by, and the end result was considered too complex to implement efficiently on computers of the day. Although the few programmers who did get to use it love it. 
+  
+Introduced augmented assignment (+= -= *= /= etc)  
  
 Algol 68 on Linux: J. M. van der Veer's [Algol 68 G interpreter | http://www.xs4all.nl/~jmvdveer/algol.html]. 
  
 Gaze in awe at [Glyn | GlynWebster]'s [Algol68 | http://www.wave.co.nz/~glyn/befunge.a68] skillz. 
  
-!!! Algol W 
+!!! Algol W (1965)  
+  
+Not extremely widely used, but influential on later languages in its features; Pascal often gets credit for invention of a number of things that actually appeared first in Algol-W or other languages.  
+  
+Introduced case/switch statement invented by CarHoare (he says his proudest invention), and no, this is not the same as the primitive Algol-60 goto-switch nor Lisp's cond -- it is characterized by a sequence of non-ordered non-overlapping values/ranges.  
+  
+Introduced passing parameters by value-result (a.k.a. in-out parameters).  
  
-We're getting really obscure here . See [AlgolWCompiler], NicolasWirth. 
+By CarHoare and NicolasWirth (the "W" in "Algol-W") . See [AlgolWCompiler], NicolasWirth. 
  
 ---- 
 CategoryImperativeProgrammingLanguages