Forum > General

Pascal on computerphile

(1/2) > >>

cpicanco:
This video is very funny. Its description says:

"Pascal evolved from Algol60. Professor Brailsford discusses the rift in the Algol committee that lead to its creation." (https://youtu.be/SVYBJlCmRxE)

Professor Brailsford mentions a paper that enumerates some practical problems with Classical Pascal, for example, "It can't do bits" and "It can't have a pointer to pointer".

Of course, a lot changed since then. But I am just curious to hear from you.

440bx:

--- Quote from: cpicanco on November 22, 2022, 06:18:05 am ---Of course, a lot changed since then. But I am just curious to hear from you.

--- End quote ---
And as much as things have changed, they seem to have remained the same.  The original Pascal had glaring deficiencies and  today's Pascal still has a number of them when it comes to low-level programming (is cryptography really low-level ?.)  It even has a number of deficiencies when it comes to normal/trivial programming.

C has as many deficiencies as it has features (that's probably a Guinness record) and C++ has shown that deficiencies can be buried so deep, it is often hard to point them out clearly.

The last language that seems to have actually been designed with programming in mind is Ada and it is far from a popular language but, genuine programming atrocities (such as Python) are becoming ever more popular.

Conclusion: programmers should eventually attempt to learn how to program, if some did, maybe someone would design something that can genuinely be called a programming language.

ETA: thank you for sharing that video.  I like the guy and his story was interesting.

MarkMLl:
I'm a lousy mathematician but David Brailsford was one of my more engaging lecturers. I don't know whether he stayed in the Maths department or migrated to Computer Science when it was founded a couple of years after I graduated.

The University of Nottingham had an ICL mainframe, since the UK at the time was highly protective of its computer industry. As such, it was seriously into FORTRAN for engineers (and was instrumental in the early years of NAG), BASIC on teletypes for certain species of hairy postgrad, and ALGOL (-68?) for mathematicians (there were in fact separate cardpunch areas for FORTRAN and ALGOL, but I don't know whether there was any technical distinction). There were also various DEC etc. systems scattered around departments for research groups, reputedly the maths department had an underpowered IBM in a basement, referred to as "I'd Buy Memory", micros were very much a new thing and of limited significance.

That was the situation in say '77. Pascal of course was very much in its infancy, and crucially was still dominated by J&W: UCSD Pascal was published in that year, but both Borland and ISO standardisation were very much things of the future.

The "It can't have a pointer to pointer" quote is patent rubbish, and if I had time I'd check the video to verify that that's what was actually said. The thing that makes it rubbish is that J&W- confusingly, in my opinion- throws records, pointers, dynamic allocation and data structures (including lists and trees which /have/ to have pointers to pointers) into a single chapter.

From memory, my recollection is that the flaw is that early versions of the language had weak- if any- type checking when a pointer was dereferenced, hence (in part) the emphasis on storing the size of a dynamically-allocated block below the referent rather than giving the block an unambiguous type with known size.

The reference to no bit-operations support is entirely correct, and this was of course something that Wirth promptly sorted out when he reacted to the popularity of Pascal by introducing Modula-2 (without, in his usual sloppy way, defining whether bit zero was LSB or MSB).

So, or rather "So-HO" as David used to say when about to pull a conclusion from his hat, I definitely don't want to criticise him or his conclusions, but one has to view the video's content from the position of an experienced academic who is probably far more interested in the progression from ALGOL /through/ Pascal to Ada and other "academically interesting" languages, and who was largely blindsided by the influence that commercial variants such as UCSD and Turbo Pascal exerted on the industry.

MarkMLl

MarkMLl:

--- Quote from: cpicanco on November 22, 2022, 06:18:05 am ---This video is very funny. Its description says:

"Pascal evolved from Algol60. Professor Brailsford discusses the rift in the Algol committee that lead to its creation." (https://youtu.be/SVYBJlCmRxE)

--- End quote ---

It is really not at all funny. It wasn't just "one or two" committee members who resigned but fully a third of them, leaving the ALGOL-68 committee dominated by van Wijngarten (sp?) and his students... plus John McCarthy, whose presence was inexplicable since by then he had very little commitment to ALGOL.

That was in I think May '67. Wirth stormed back to academia, designed Pascal as best he could based on the tricky recursive-ascent technique he was currently using, and changed the syntax just enough to make it incompatible with ALGOL in order to have it ready for his next crop of postgrads in the Autumn.

If Wirth and his supporters hadn't resigned from the committee but instead had voted against van Wijngarten's proposal, the various standardisation bodies probably wouldn't have approved ALGOL-68: having a third of the committee standing against it would quite simply have been too far from a consensus. Even as things stood, the informal "minority report" from those who had resigned carried enormous weight and the ALGOL-68 standard had to be rewritten before being accepted.

So by "throwing his toys out of the pram", Wirth arguably condemned us to C, C++, Python and the overall mess into which the industry has descended.

Reference: http://www.tomandmaria.com/Tom/Writing/DijkstrasCrisis_LeidenDRAFT.pdf

MarkMLl

marcov:

--- Quote from: MarkMLl on November 22, 2022, 10:47:11 am --- van Wijngarten (sp?)

--- End quote ---

Van Wijngaarden

Navigation

[0] Message Index

[#] Next page

Go to full version