Ask HN: Does anybody else like the syntax of Algol 60?
I was reading the syntax of Algol 60, and I personally think that the syntax is very readable and easy to understand, and I am surprised that it isn't used as a template for new imperative programming languages in the same way the syntax of C is.
It also helps that most textbooks, when they need to describe an algorithm, use an Algol 60 kind of syntax as opposed to a C kind of syntax.
7 comments
[ 2.6 ms ] story [ 25.2 ms ] threadAlgol perhaps had the disadvantage of being far more popular among academics than among actual programmers. Perhaps for that reason Algol became the lingua franca of pseudocode, while C became the lingua franca of actual code.
(I don't know if this is fair, but I've always had the impression that Algol was a bit like Ada in its time: respected by those who used it, but a bit too kitchen-sink to be popular among implementors.)
For instance, why does C differentiate between for loops and while loops? Because mathematically there's a natural partition between the two: for loops correspond to primitive recursion, and while loops correspond to total recursion.
Here's another one: why are unions called unions? Because, if types are interpreted as sets, the C union is directly equivalent to the set theoretic union. Similarly, structures are directly equivalent to the Cartesian product (although they are not named appropriately).
K&R were geniuses, not only in practical programming, but in the egg-head understanding of the mathematical theory behind programming languages.
But yes, even now when I write Ruby or Python or Go, I miss the clarity of Algol.
If you want to use it, Algol 60 an option with Dr. Racket: http://docs.racket-lang.org/algol60/
If you can tolerate a later version, there's Algol 68 Genie: http://jmvdveer.home.xs4all.nl/algol.html