4 ms·
Computerphile: From Algol 60 to Pascal [video]
- kar1181 6y agoComputerphile, for me, is one of the gems of youtube. That such incredible, well produced content like this is 'free' and so easily accessible is mind boggling compared to the efforts I had to go through in the late 80s learning computing independently.
- toastal 6y agoHis ending bit where he talks about hitting a ceiling that you can't really break out of sums up my experience writing Elm. It's a good teaching language too and does good at that.
- dthul 6y agoElm really is a gem. It's like an "approachable browser Haskell". And the Elm Architecture makes it really easy and fun to handle your state and the view(s) into it.
- wjsetzer 6y agoEvery time I want to sit down and write an elm app I have a great time until I need to do anything complex.
- vanderZwan 6y agoSounds like we need a Turbo Elm
- toastal 6y agoI believe that is PureScript.
- anderspetersson 6y agoEvery time I see a video from Computerphile I think about the video they did on Timezones: https://www.youtube.com/watch?v=-5wpm-gesOY https://www.youtube.com/watch?v=-5wpm-gesOY
- gandalfgeek 6y agoThe "call by name vs call by value" joke at Niklaus Wirth's expense :-)
- Taniwha 6y agocall by name is an abomination - essentially you can call func(a[b]) ... every time func's parameter is referenced inside a[b] is reevaluated - b can be a global or a local in the function making the call, inside the function you can read the resulting value or even assign to it .... essentially you need to pass a small code fragment that returns the address of a[b] (except that you can also pass "1" and what happens when you assign to that). That and Algol60 scoping were probably the main mistakes in Algol60 - people were still figuring that stuff out back then.
- jasoneckert 6y agoQuote from the video: "Niklaus Wirth said 'Pointers are dangerous'" I agree wholeheartedly!
- mycall 6y agoTurbo Pascal didn't have any of the issues mentioned in the video.
- dave-br 6y agoLet me say “thank you” on behalf of Computerphile. It's always a pleasure to get good reviews from HN ... Yes, by the time of Turbo Pascal most of the problems had been sorted out and the fact that NW went on to do Modula and Modula-2 shows how seriously he took the separate compilation issues. Dave B.
- Taniwha 6y agoMy take on Algol->Pascal has always been rather more that Pascal is essentially the easy to implement parts of Algol68 (speaking as someone who once wrote an Algol68 compiler for my thesis). Many of those harder parts of Algol68 (unions with tags, pointers to stuff like function calls, a full type system etc etc) are all things we consider normal parts of modern languages
- mikewarot 6y agoThe only thing missing from modern pascal (Lazarus/Free Pascal) is first class support for the new types such as lists, generators, heaps and other goodies Python and it's kin bring to the party. I needed to pull a parameter from a string yesterday, reached back into my archives, and with a little bit of work... 28 year old code did the job. (Strings have changed a bit since MS-DOS)
- benibela 6y agoHere is a library with lots of types: https://github.com/avk959/LGenerics https://github.com/avk959/LGenerics
- mark_l_watson 6y agoNice presentation. In the mid 1970s, I was working at SAIC but moonlighted working at Salk Institute in La Jolla on weekends writing Algol code to facilitate collecting data from the various hardware they had in a lab. My boss at SAIC at the time was getting his PhD in CS, had to write his thesis in Algol, which I spent time helping him with. I then became a huge fan of UCSD Pascal on my Apple II which I used to write my Go playing program Honninbo Warrior, which I sold for a few years. Back then I mostly made my living writing FORTRAN so Algol and Pascal were a breath of fresh air.