Al few comments:
1 - In 1973 at the university, we had the chance to learn programming using the SIMULA 67
implementation fo 360/370.
To me one of the influences of 80 column cards was that the compiler had
(i.e. HAS) an option
INDENT=n
which indented the listing between BEGIN END pairs.
As a consequence no leading spaces on cards were wasted.
2 - If one obeys a strict indentation rule in C ( indent between { } )
then the { } become redundant
(Ignoring the desire for indentation in complex expresssins)
Thus, python.
3 - Ladders in IF THEN ELSE IF THEN ELSE IF ..
are IMHO not nice.
4 - Most languages use patterns like (add DO/BEGIN/{ }/END around f indented
lines
try something;
IF successful
THEN
blabla
ELSE
try something else
IF successful
THEN
I'd prefer
IF
try something
successful
THEN
blabla
ELSEIF
try something else
successful
THEN
which in a loop gives
WHILE
try next
more to do
LOOP
....
ENDWHILE
instead of in some puristic (non exit if or leave )
try next (actually first)
WHILE
more to do
LOOP
....
try next
ENDWHILE
At GMD where I worked since I was 20, worked with and on a structured programming assembler macro
set. (CBTTAPE 1005)
Hm, should update this after 40 years.
5 - side effects:
Koster's CDL2 used 4 types of routines
functions and tests (no side effects)
actions (has side effects)
predicates (like a test bif false, if result is true, has side effect)
The 'try something' above should be implemented as predicates
parsers consume input like is('+) checks whether the next char is a + and
consumes it if so.
is('+) , addnextoperand() ;
is('-') , subtractnextoperant() .
6 - The inventors of SIMULA 67 seem to have said that (computer) languages are not meant to last
more than 3 years (as is),
As a corollary, one should at least try and start learning a new one each
three years :-)
7 - Indiana PI bill
https://en.wikipedia.org/wiki/Indiana_Pi_Bill just postponed!!
Best
*
*
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN