1. 124
    1. 22

      Here’s a story dating back to the Algol years in the 1960s: in response to a question about pronunciation from an English speaker, Wirth said “You can call me by name, «veert» or you can call me by value «worth»”

      (the joke works better if you know that Algol 60’s weird parameter passing convention was “call by name”)

      1. 5

        One can tell immediately from this comment that Nicklaus Wirth is a Quiche Eater.

        1. 5

          Quiche is delicious. I bought a bacon and mozzarella one in the supermarket yesterday.

          Real programmers do Artificial Intelligence programs in FORTRAN. If you can’t do it in Fortran, do it in assembly language. If you can’t do it in assembly language, it isn’t worth doing.

          The ironic thing of course is that with AI now meaning multiplying matrices, not sissy symbolic list processing, this turns out to be true.

          1. 2

            Real programmers do Artificial Intelligence programs in FORTRAN.

            Maybe they do now, in this decadent era of Lite beer, hand calculators and “user-friendly” software, but back in the Good Old Days, when the term “software” sounded funny…

      2. 10

        Pascal was the first language I wrote meaningful programs in. Heck, I learned to program from Turbo Pascal’s help system. I read some of Wirth’s books and publications, dabbled in Modula-2, they were all incredibly educational, and formative. I would not be here today without Pascal, without Wirth.

        RIP.

        1. 5

          I started with BASIC when I was ten or so and unlearned all the bad habits when my dad brought home Turbo Pascal. Awesome language for a kid to pick up (Pascal was also popular in education at the time) and the Turbo Pascal IDE was just terrific, with built in help, debugger and profiler. I also had a disk with Swag, which was a collection of Pascal sample code snippets. Turns out someone ported it to a web site:

          http://www.retroarchive.org/swag/index.html

          If my memory serves me correctly it used a Turbo Vision(-like?) text interface.

          Later I also used Modula-2 on OS/2 (Mill Hill & Canterbury Modula-2). There is even a very broken file encryption utility that I wrote (sorry, I was still very young and encryption fascinated me) in the Hobbes archive:

          https://hobbes.nmsu.edu/?detail=%2Fpub%2Fos2%2Futil%2Fencrypt%2FTeaTime2_0-06.zip

          I also had Wirth’s Oberon book and I vaguely remember using a Oberon to Java bytecode compiler (possibly also from Mill Hill?).

          I fully agree that I wouldn’t be where I am today without Wirth.

          Edit: this must have been the Oberon compiler: http://www.edm2.com/index.php/Canterbury_Oberon-2_for_Java

          1. 2

            dabbled in Modula-2, they were all incredibly educational

            My school teached with Modula-2 (exams partly on paper) (and then they switched to Java and I dropped out).

            1. 1

              My second, or maybe third depending on how you count, programming langauge was turbo pascal.

            2. 7

              Oh no! I have first editions of so many of his books, I’ve pored over his papers and writings and designs. This one really hits me hard. At least he left this works knowing he had a beautiful legacy.

              1. 5

                I wrote an obituary for the great man on the Reg.

                RIP: Software design pioneer and Pascal creator Niklaus Wirth.

                Evangelist of lean software and devisor of 9 programming languages and an OS was 89

                https://www.theregister.com/2024/01/04/niklaus_wirth_obituary/

                1. 4

                  Very sad news. My first exposure to Wirth’s work was, after programming in BASIC, FORTRAN, and COBOL, I learned Pascal. What a breath of fresh air! Support for structured programming in the language! Data structures! User-defined types! Dynamic memory allocation and pointers! Lexical scoping! Lowercase letters!

                  For what it’s Wirth [sic], the name of Java’s record classes are something of an homage to Pascal’s record types.

                  1. 1

                    the name of Java’s record classes are something of an homage to Pascal’s record types.

                    Could you explain that for me, please?

                    1. 1

                      I assume they mean using the word “record”, but that doesn’t originate with Pascal. It is a common term common in databases on disk, on tapes, and even dates back to pre-electronic data processing with punched cards. ASCII and EBCDIC character sets have “Record Separator” characters.

                      1. 1

                        OIC! Yes, “record” is not a Pascalism at all…

                        1. 7

                          There is certainly a general use of the term “record” outside of Pascal. But Pascal’s usage of “record” applies to a user-defined data type that is an aggregate of heterogenous data. C calls them structs and C++ and Java call them classes (but marry them with behavior). When Java wanted to introduce a different kind of class that was mostly just data and not behavior, we needed a name. Various names such as “datum” (singular of “data”) and “struct” were kicked around. I won’t claim that I actually named Java’s record classes, but I did advocate calling them records, and I was thinking of Pascal’s records when i did so.

                          1. 0

                            But Pascal’s usage of “record” applies to a user-defined data type that is an aggregate of heterogenous data.

                            And so are punched card records, even before electronic computers. From the Wikipedia article: “Sequential card columns allocated for a specific use, such as names, addresses, multi-digit numbers, etc., are known as a field.”

                            Other possible field types include dates, booleans (Y/N) or any other enumeration that can be represented by an alphanumeric digit.

                            Heterogenous data? Yes. User defined? Yes.

                            You might well have been thinking of Pascal’s use of “record”, but if so then that’s just lack of historical knowledge.