6 ms·
Algol 68
- ggm 8y agoI did a Fortran 74 course in 76 and we touched on algol 68 and I was a giant, colossal mind fuck. Call by name, call by value, call by references... Give me back my giant global section and begone!! What is this code as arguments stuff. Recursion? That's the devil's music!!! I wish I'd stuck with it.
- benj111 8y agoWouldn't Fortran have been the better choice long term? Fortran is still used in the sciences. Algol not so much. Plus you know, Algol is a gateway drug, who knows where you'd have ended up :P
- coldtea 8y ago>Fortran is still used in the sciences. Algol not so much. That's only because almost everything mainstream today has 80%+ of Algol in disguise. C, Pascal, Python, Java, Kotlin, JS, Go... http://wiki.c2.com/?AlgolFamily http://wiki.c2.com/?AlgolFamily Case in point (even if the author has second thoughts): http://cowlark.com/2009-11-15-go/ http://cowlark.com/2009-11-15-go/
- benj111 8y agoAgreed, but then most modern languages have 80%+ of all pre 1980 languages.
- KineticLensman 8y agoErmm - Haskell and Cobol?
- benj111 8y agoWell I did say most! Didn't Cobol have quite good data structures for the time??? I haven't really used either, so I'm not best placed to make the case. Having just read the wikipedia page on Cobol. The Cobol metalanguage looks quite a lot like Haskell, so maybe that.
- userbinator 8y agoThey astounded the attendees – who had made estimates of up to 100 man-years to implement the language, using up to 7 pass compilers – when they described how they had already implemented a one-pass compiler which was in production use in engineering and scientific applications. It reminds me of the story of how Donald Knuth wrote an early ALGOL compiler by himself, in 3.5 months: https://news.ycombinator.com/item?id=2856567 https://news.ycombinator.com/item?id=2856567
- coldtea 8y agoAnd of course today someone can write one (with some modern tools like parser generators and llvn) in a couple of weeks or so.
- microtherion 8y agoAn amazing feat, though that was ALGOL 58, a rather different beast than ALGOL 68 (though hardware was also significantly less capable then, of course).
- saurik 8y agohttp://www.cowlark.com/2009-11-15-go/ http://www.cowlark.com/2009-11-15-go/
- boulos 8y agoSeems like the title should be “World’s First Algol 68 Compiler”.
- baybal2 8y agoMy informatics teacher was big fan on Niclaus Wirth. Unexpectedly, ~15 years down the line, remembering her functional programming maxims came handy when dealing with Golang. I found languages are sharing some vibe.
- wirrbel 8y agoJust to make sure "functional programming" or "structured programming"?
- baybal2 8y agoI'm not sure myself after those years, but it felt like functional programming. Golang is not much about functional programming than say JS from my personal impression, but it felt like it had some attempts to follow it in its foundation. In the end, it failed to realise the original though of Wirth - "with clear separation of functions and inputs, every program turns into a spreadsheet"
- microtherion 8y agoThat does not really sound like Wirth, who never was involved in functional programming as far as I can tell and was not a big fan of spreadsheets. Wirth always was insistent that programs should strive to be transparent about the computational effort involved in an action, so I can't imagine him being fond of e.g. Haskell.
- baybal2 8y agoThen, my memory fails me. Maybe I am mistaking him for somebody else. But I do remember my teacher obsessing over virtues of obscure languages like Algol, Oberon and Modula.
- wirrbel 8y agoI think wirth did however like to distinguish between procedures and functions. Not functional in todays meaning of the word, but similar in spirit.
- howard941 8y agoFrom FreeBSD's ports collection: "The Algol 68 Genie project preserves Algol 68 out of educational as well as scientific-historical interest, by making available Algol 68 Genie; a recent, well-featured implementation written from scratch." It's GPL. WWW: http://www.xs4all.nl/~jmvdveer/algol.html http://www.xs4all.nl/~jmvdveer/algol.html
- gwern 8y ago> They astounded the attendees – who had made estimates of up to 100 man-years to implement the language, using up to 7 pass compilers – when they described how they had already implemented a one-pass compiler which was in production use in engineering and scientific applications...The ALGOL 68-R compiler was initially written using the RRE ALGOL 60 compiler including extensions for address manipulation and list processing but stripped out of features such as real number handling which made it more suitable and more focused on compiling a compiler. Dropping any kind of real or float support sounds like a major issue for scientific use; did the users simply have to express everything as fixed-point integers? What else did they simply drop to get their subset/prototype working?
- abecedarius 8y agoI think that refers to the language the new compiler was written in, not the one it implemented.
- open-source-ux 8y agoI strongly recommend this talk by software consultant and author Kevlin Henney called Procedural Programming: It's Back? It Never Went Away He talks a bit out Algol 68 and how influential it was on programming language design. Many language keywords we're familiar with today originated in the 50 year old language specification for Algol 68: int, bool, skip, void, struct. Here's the snippet from the talk about Algol 68 - it's brilliant: https://youtu.be/otAcmD6XEEE?t=554 https://youtu.be/otAcmD6XEEE?t=554
- SagelyGuru 8y agoI still have that Algol68-R User's Guide on my shelf and remember to this day the excitement that gripped me when I learned from it about REFs. I went on to implement my final year project in it, which was considered by all concerned to be a crazily risky thing to do. The only thing that matched it for excitement was connecting for the first time to a "live" remote computer through a teletype and that thing actually typing things back at me.