3 ms·
> Every computer language has arbitrary features, and most languages are in fact overloaded with them. A few, however, such as Lisp and Algol, are built around
by AnimalMuppet 2y ago
> Every computer language has arbitrary features, and most languages are in fact overloaded with them. A few, however, such as Lisp and Algol, are built around a kernel that seems as natural as a branch of mathematics.
Algol? The kernel of Algol seems as natural as a branch of mathematics? Can anyone who has used Algol give their opinion of this statement?
- andyjohnson0 2y agoI did some Algol programming back in the late 80s - when it had mostly been obsoleted by Pascal, Modula, and even C for what we called "structured programming" back then. I remember it as a likeable, economical, expressive language, without significant warts, and which had clearly been influential by being ahead of its time. So my guess is that Hofstadter was just referring to its practical elegance - rather than the more theoretical elegance of Lisp.
- nxobject 2y agoOut of curiosity: which dialect on Algol, and on what platform?
- andyjohnson0 2y agoI'm not sure, but possibly Algol 68. It was on an IBM mainframe running VM/CMS - possibly a 3090. Long time ago...
- gavindean90 2y agoFrom what I’ve studied, Algol wasn’t designed for typical software development—its main purpose was to give computer scientists a way to describe algorithms with a level of rigor that mirrors mathematical notation.
- deleted 2y ago[deleted]
- retrac 2y agoC is basically Algol with curly braces and pointers. The sentiment expressed there is probably equally applicable to C, or maybe Pascal. Those are often held up today as a minimal example in contrast to Lisp. There is a sort of sparse, warty elegance to the family. Blocks, arrays, if/then, assignment, while loops. What more could you need?
- AnimalMuppet 2y agoI've used both C and Pascal. The simplicity of C comes through to me (less so Pascal - the verbosity gets in the way). I never thought of it as "as natural as a branch of mathematics", though. I mean... I guess you could think of it as having its own set of self-consistent axioms, and from them you can build things. It's a lot larger set of axioms than most branches of mathematics, though. I guess, if Hofstadter meant the same level of naturalness, well, yes, C did feel pretty natural to me, so... maybe?
- earthicus 2y agoIt was discovered that the procedure mechanism of Algol 60 was effectively equivalent to the lambda calulus. This insight was written out in a famous paper by Peter Landin, "Correspondence between ALGOL 60 and Church's Lambda-notation: part I" https://dl.acm.org/doi/10.1145/363744.363749 https://dl.acm.org/doi/10.1145/363744.363749
- aidenn0 2y agoHard to say without knowing which version of Algol he is referring to. Algol 68 was very different from Algol 58. Algol 60 was the first language with lexical scope, while Algol 68 was a kitchen-sink language that (positively) influenced Python and (negatively) influenced Pascal.