Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
Algol68 was a greatly expanded and enhanced
version of the Algol block-structured
language. Many capabilities were added to
the sound framework of Algol60 to create a
much more capable language for general
application and systems programming.
Algol68 introduced a large number of new
features over previous versions:
formalized syntax and semantics, parallel
programming constructs, new data types
and structuring methods, and type
Primitive data types supported by Algol68
include booleans, chars, strings, integers,
reals, complex numbers and references.
structures, and unions are available for
building complex data structures.
Algol68 also supports separate compilation
modules, as Algol60 did.
Also like its predecessor, Algol68 is
very strongly typed.
A few implementations of Algol 68 and
various dialects of it exist, including
some for PCs and mainframes.
A. van Wijngaarden et al, 1965-68.
- See Also:
The original 1968 specification was revised
in 1973, and it is this later specification
that currently defines 'Algol68'.
The semantics of
Algol68 require dynamic memory management
and garbage collection.
Here is a list of some additional features
that Algol68 added to Algol:
- complex numbers
- bit patterns
- indefinite-length strings
- flexible (resizable) arrays
- modules and separate compilation
The official syntactic and semantic definition
of Algol68 was extremely complex, and used
nomenclature unfamiliar to many computer
programmers in those days (and today, for
that matter). This helped make the language
seem unfriendly and unaccessible to many
- Sample code:
mode node = struct ( int val, ref node left, right);
ref node nonode = nil;
loc ref node start := nonode;
proc insert = (int v, ref ref node place) ref node:
if place :/=: nonode
then if v < val of place then insert(v,left of place)
else #v > val of place# insert(v, right of place)
else place := heap node := (v, nonode, nonode)
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.