Sujet : Re: Command Languages Versus Programming Languages
De : janis_papanagnou+ng (at) *nospam* hotmail.com (Janis Papanagnou)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.miscDate : 07. Apr 2024, 00:47:13
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <uusmu2$2cao7$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 26
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
On 07.04.2024 00:57, Lawrence D'Oliveiro wrote:
Algol 68 was a bit less influential in terms of language features [...]
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”
After all these decades it sounds still strange in my ears.
* “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”
Well, we had function parameters called "by name" before.
And we have 'REF' for references. (Also seen in Simula 67.)
* “Mode” instead of “data type”
* “Coercion” for a type conversion
* “Cast” for an explicit type conversion
* “Void” for a construct yielding no value
This is an interesting thing in Algol 68 if you study the
details!
As the "type" of statements it makes function definitions
or the mentioned conditionals (statements and expressions)
a coherent concept.
* “Dereferencing” for following a pointer
* “Slice” for a subarray of an array
* “Pragmat” for compiler directive (I think “pragma” is more common
nowadays.)
And maybe printf() and the op:= set of operators, and more.
I also find its collateral abilities very interesting. But I
seem to recall that not every compiler supports that.
Janis