
Computerphile: From Algol 60 to Pascal [video] - open-source-ux
https://www.youtube.com/watch?v=SVYBJlCmRxE
======
kar1181
Computerphile, 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.

~~~
qubex
_Numberphile_ and _PBS Spacetime_ too.

------
dave-br
Let 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.

------
mark_l_watson
Nice 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.

------
toastal
His 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
Elm 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
Every time I want to sit down and write an elm app I have a great time until I
need to do anything complex.

------
jasoneckert
Quote from the video: "Niklaus Wirth said 'Pointers are dangerous'"

I agree wholeheartedly!

------
Taniwha
My 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

------
anderspetersson
Every 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)

------
mikewarot
The 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
Here is a library with lots of types:
[https://github.com/avk959/LGenerics](https://github.com/avk959/LGenerics)

------
gandalfgeek
The "call by name vs call by value" joke at Niklaus Wirth's expense :-)

~~~
Taniwha
call 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.

------
mycall
Turbo Pascal didn't have any of the issues mentioned in the video.

