Sujet : Re: Command Languages Versus Programming Languages
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.miscDate : 07. Apr 2024, 00:57:13
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <uusk09$2b992$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
User-Agent : Pan/0.155 (Kherson; fc5a80b8)
On Sat, 6 Apr 2024 18:57:47 +0200, Janis Papanagnou wrote:
I named it always explicitly as "Algol 60" and "Algol 68". But at some
instance of time I read somewhere that "Algol" would "now" refer to
Algol 68, so I changed my habit.
Sure, Algol 60 is way beyond a museum piece by now. But remember, that was
the one that spawned a great number of offshoots, namely the “Algol-like”
language family--or really, superfamily. That included Pascal and its own
offshoots.
Algol 68 was a bit less influential in terms of language features (I think
C “int”, “char”, “struct” and “union”, and the “long” and “short”
qualifiers came from there, and csh “if ... fi” as well), but it did seem
to introduce a bunch of new terminology, some of which caught on, others
did not. See how many you can spot:
* “Elaboration” for the process of executing a program (including possibly
transforming from source form to an executable form)
* “Transput” instead of “input/output”
* “Heap” for an area in which memory may be dynamically allocated and
freed in no particular order
* “Overloading” for multiple context-dependent definitions of an operator
* “Name” instead of “pointer” or “address”
* “Mode” instead of “data type”
* “Coercion” for a type conversion
* “Cast” for an explicit type conversion
* “Void” for a construct yielding no value
* “Dereferencing” for following a pointer
* “Slice” for a subarray of an array
* “Pragmat” for compiler directive (I think “pragma” is more common
nowadays.)