Why do you think the Pascal syntax is the way "forward" way - the better way and everything else that isn't copying Pascal is going backwards?
To me, syntax is a personal thing.
Syntax is not a personal thing, in the same way that approximately-correct usage of English is not a personal thing. There can be multiple ways of doing or saying things- multiple idioms- but there still has to be an agreed structure.
Syntax and semantics are the public definition of a computer language, in the same way that they're the public definition of a spoken language.
If your definition is sloppy or admits ambiguity, your language isn't fit for purpose.
So I'd suggest that while we are not going to see the World suddenly start using Pascal for all new software, that Pascal and Mosula-2 have been enormously influential and that- in particular- languages from the C family have retroactively adopted a lot of their features.
Because a compiler isn't just a program that generates executable code. A good compiler, in addition to generate reasonably decent executable code, should flag programming mistakes and, one of the characteristics of Pascal that helps a programmer find coding mistakes is its strong type checking.
The same thing is true of syntax. Poor syntax design, the C language being a great example of a language with extremely poor syntax design, prevents the compiler from flagging obvious errors such as those caused by using "=" instead of "==" or "|" instead of "||" or ">" instead of ">>" and many other similar cases where a simple typo causes a program not to work properly and the compiler is unable to detect the incorrect use of a syntactic construction.
Agreed, with one caveat: I'm not sure whether | vs || etc. is a syntax issue, or a semantic issue related to how strictly typing is enforced and the existence of multiple assignment (i.e.
a = b = c;).
boolean_variable = boolean_variable... could at a glance be interpreted as either an assignment or a comparison, the real problem is that the availability of multiple assignment makes
if (boolean_variable = boolean_variable) {... valid.
Multiple assignment was an ALGOL thing so you can't blame C for it, but if it were removed the language would be the better for it.
MarkMLl