Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Technology

Niklaus Wirth, Inventor of Pascal, Dies At 89 (twitter.com) 96

New submitter axlash writes: It has been reported on X that Niklaus Wirth, inventor and co-inventor of several languages including Pascal, Euler and Oberon, died on Jan 1, 2024. He was aged 89. "We lost a titan of programming languages, programming methodology, software engineering and hardware design," writes software engineer Bertrand Meyer in a post on X. "Niklaus Wirth passed away on the first of January. We mourn a pioneer, colleague, mentor and friend."

Niklaus Wirth, born on February 15, 1934, in Switzerland, is a renowned computer scientist known for his significant contributions to the field of computer science and software engineering. He is best known for developing several programming languages, including ALGOL W, Pascal, and Modula-2, which have had a profound impact on the design and development of modern computer software. Wirth's work emphasized simplicity, clarity, and efficiency in programming languages, which greatly influenced subsequent language design and the development of structured programming techniques. His legacy also includes the development of the Oberon programming language and the design of the Oberon operating system. Wirth's dedication to elegant and efficient software design continues to inspire computer scientists and software engineers worldwide, making him a highly respected figure in the history of computing.

You can learn more about Wirth via A.M. Turing Award, Britannica, and the Computer History Museum.
This discussion has been archived. No new comments can be posted.

Niklaus Wirth, Inventor of Pascal, Dies At 89

Comments Filter:
  • Call Him By Name (Score:5, Insightful)

    by rbrander ( 73222 ) on Wednesday January 03, 2024 @08:33PM (#64129413) Homepage

    Niklaus.

    Call him by value: enormous.

    • He was the champion of the school of thought that programming languages should be easy to use. His languages didn't become the most popular, but his approach won out in the end.
      • Re: Call Him By Name (Score:4, Interesting)

        by RightwingNutjob ( 1302813 ) on Wednesday January 03, 2024 @10:22PM (#64129611)

        Yes and no.

        The no: There are probably more bare metal hackers out there now than in the 60s because microcontrollers programmed in C and assembly are dirt cheap and damn near ubiquitous compared mainframes that filled a room.

        The yes: they are dwarfed in number by people who write high level languages and don't have to know what a stack pointer is or how to implement (or even choose) an efficient sorting algorithm.

        The world would look quite different without either group of people. Hard to say one approach won out over the other.

        • There are probably more bare metal hackers out there now than in the 60s because microcontrollers programmed in C and assembly are dirt cheap and damn near ubiquitous compared mainframes that filled a room.

          That is true, but I don't know anyone who regularly programs in assembly. Even the smallest microcontrollers have enough RAM to just use C.

          • by DrXym ( 126579 )

            I think C succeeded for embedded programming partly because the popularity of Arduino making it super easy write a "sketch" and over time more boards adopted a similar approach. But Rust is also becoming popular for embedded programming, because it makes for safer code.

        • by DrXym ( 126579 )

          Pascal was not a high level language. It was compiled just like C either straight to native code, or to a virtualized p-code which was still a form of stack-based assembly language. It gained pointers, memory allocation, OO and all that stuff. And while it had pointers, it wasn't quite low level enough to be useful for systems programming. But it wasn't abstract enough to compete with the likes of true high level languages like Java. It didn't help that there were umpteen dialects and standardization came t

      • For a long time period, Pascal, especially UCSD Pascal, was the most used programming language on the planet.

        • Re:Call Him By Name (Score:5, Informative)

          by drnb ( 2434720 ) on Wednesday January 03, 2024 @11:27PM (#64129733)

          For a long time period, Pascal, especially UCSD Pascal, was the most used programming language on the planet.

          The Apple Macintosh's native programming language was pascal for many years.

          Turbo Pascal revolutionized programming the PC.

          • by Dadoo ( 899435 )

            Turbo Pascal revolutionized programming the PC.

            But Turbo Pascal wasn't really Pascal, was it?

            • by drnb ( 2434720 )

              Turbo Pascal revolutionized programming the PC.

              But Turbo Pascal wasn't really Pascal, was it?

              It compiled to native binary rather than the UCSD p-system VM, but the latter wasn't required. I think it was done to get the language on more platforms more quickly. Only the VM needed to be redone in native code on a new platform, not the compiler.
              The p-system VM made the code too slow to be of practical value. Native code was fast enough that Turbo Pascal got some use in professional app development.

              Source code differences were largely that it added stuff, in particular to support DOS.
              It added suppo

              • by Dadoo ( 899435 )

                You could call it a superset.

                That was kinda my point; it had to be a superset to do anything useful, because actual Pascal was crap.

                • by drnb ( 2434720 ) on Thursday January 04, 2024 @01:57PM (#64131939)

                  You could call it a superset.

                  That was kinda my point; it had to be a superset to do anything useful, because actual Pascal was crap.

                  Pascal wasn't really meant for industry. If was really meant to teach structured programming to students. It was perfectly suitable for college course work in its standard form.

                • because actual Pascal was crap.
                  Then you obviously never did use Pascal.

              • And I recall writing a complete accounting system in Pascal MT+ (the Digital Research compiler) for CP/M machines.

                Happy days -- dealing with the limitations of 8-bit processors that forced you to use dozens of overlays (dynamically loaded code) and hand-optimize certain routines to save a byte or two here and there.

                Kids today don't know how good they've got it! :-)

              • The p-system VM made the code too slow to be of practical value.
                That is not true. It was fast enough for business applications.

                It added support for recursion. Every Pascal had recursion. Perhaps you mean "tail recursion optimization"?

                Of course the big difference was that Turbo Pascal offered a complete IDE, so one got an editor and debugger in addition to a compiler.
                UCSD also came with an IDE. Just do not remember if it had a debugger inlcuded. Would not wonder if it had, and I never notices (Talking about

                • by drnb ( 2434720 )

                  The p-system VM made the code too slow to be of practical value. That is not true. It was fast enough for business applications.

                  Who found it too slow and migrated to other solutions. P-system is a footnote for a reason.

                  (Talking about Apple ][ UCSD).

                  The USSD Pascal I personally toyed with was also Apple II. At the school minicomputer our Pascal compiled to binary.

                  • We used Pascal in university on Macs. I convinced my tutors that I could use Modula 2 instead.
                    Both compiled to real binaries of course.
                    Then we had Pascal on a Vax, don't remember the model.

                    On the Suns and DEC machines I did not program much. Only shell and perl scripts. Perl was new and fast, so everyone wanted to use it ...

            • Re:Call Him By Name (Score:4, Informative)

              by nicubunu ( 242346 ) on Thursday January 04, 2024 @02:58AM (#64130053) Homepage

              But Turbo Pascal wasn't really Pascal, was it?

              Pascal is a language, Turbo Pascal is an IDE/compiler, different things. And while the Pascal in Turbo Pascal has some add-ons, you can very well write and compile standard Pascal with it.

            • It was Pascal.
              Hence the name.

          • by jd ( 1658 )

            Wrote my A-Level project (a radioisotope expert system) in Turbo Pascal 3. It had genetics, which made for some wonderfully non-standard optimisations.

            • by drnb ( 2434720 )

              Wrote my A-Level project (a radioisotope expert system) in Turbo Pascal 3. It had genetics, which made for some wonderfully non-standard optimisations.

              I used Turbo Prolog in a couple of AI classes, one was a "big project" class where we created an expert system.

              Turbo Pascal, Turbo C, Turbo Prolog. What a collection. Too bad there was no Turbo FORTRAN. :-)

        • true, but at this point, its at its...

           

          End.

    • Niklaus.

      Call him by value: enormous.

      Are we talking about the inventor of Pascal or Christmas in Anglican countries?

    • by hawk ( 1151 )

      This discussion is wirthless! :_)

  • Epitaph (Score:5, Funny)

    by Rei ( 128717 ) on Wednesday January 03, 2024 @09:08PM (#64129485) Homepage

    begin
          writeln('Goodbye, World!');
    end.

    • by drnb ( 2434720 )
      Damn, you beat me, But I'm going to claim completeness. :-)

      program goodbye(input, output);
      begin

      writeln('Goodbye, World!');

      end.
    • by mendax ( 114116 )

      It's been a long time but as I remember, a semicolon was not necessary on the statement just before the terminating "end" statement.

    • I, for one, refuse to write Pascal code in mostly lowercase.

      BEGIN
          WRITELN('Goodbye World);
      END.

      All reserved words and language-native functions MUST be uppercase.

  • by Gabest ( 852807 ) on Wednesday January 03, 2024 @09:50PM (#64129543)

    Oh you want a not predetermined length array? Sucks to be you.

  • I cut my teeth with Turbo Pascal. So many good memories, thanks Niklaus, your contributions shaped me in so many ways.

  • I learned three languages in high school - BASIC, Fortran, and Pascal. Yes, I'm dating myself. By far my favorite was Pascal. I loved how it forced you to write disciplined code. I didn't go on to be a programmer, ending up on the sysadmin side of things. But I did do a lot of programming for fun in Turbo Pascal in my early IT years. RIP good sir.
    • My very first programming langauage in my IT career was Turbo Pascal. So have a sort of attachment to it. Hail Borland and hail Nicklaus Wirth.

    • That's exactly why I hated it.

      C is for when you want to write programs.
      Pascal is what you use when you'd rather write a novel.

    • by jd ( 1658 )

      I learned BASIC and BBC BASIC (a dialect with procedures!) on my own, Pascal through a university external course (which I then used in my A Level project), ADA and Cobol at university, and moved onto C with my first job.

      I'm now in recovery.

    • by sad_ ( 7868 )

      Basic, Pascal, Cobol and C were the languages I learned, but, same as you, I really liked Pascal the most. I found it more elegant than C and there wasn't much C could do that Pascal couldn't.

  • It was so rigid and verbose that I learned to hate it with a passion and all other Pascal languages. Probably not helped because we worked on a Mac Classics where I had to swap disks to save a copy of the file and then swap the disk again to the Modula system 2 disk to compile it, and then get a bunch of errors and have to correct them, swap disks to save, swap disks to compile etc. So the slightest deviance from what this ornate language wanted was punished by disk swapping. Felt like throwing the Mac out

  • by russbutton ( 675993 ) <russ@@@russbutton...com> on Thursday January 04, 2024 @04:39AM (#64130211) Homepage
    I was taking a summer school class in data structures, at UC Berkeley, in 1974. This was back in the days of punch cards. We were learning about linked lists and queueing. Most of you probably aren't old enough to remember the toy game called "Instant Insanity." It's what we had before the Rubik's Cube. It was four blocks with four different colors on them. The objective was to arrange them so that there when they were lined up, there was just one color on each side of the line.

    Our task was to write a program to brute force solve the problem, and we were to write it in Pascal. At the time, there was no textbook or anyone to teach us how to use the language. All we had was a single sheet of paper with the recursive definitions that Niklaus Wirth used to define the language. That was it. I had never seen anything before like it. Prior to this class, I'd seen assembly language and FORTRAN.

    But the best part was that we had to use a keypunch machine to write everything. And you couldn't just say:

    A = B

    No... It was

    A ;= B

    Where the character ;= didn't exist on the keyboard, so you had to multi-punch it in. You do this by holding down the multi-punch key and then keying the exact holes to be punched. It was too easy to screw up and the only check you got for a typing error was when your job was run and it failed. Running a program was submitting your card deck and getting it returned, wrapped in the green/white fan fold printout.

    You don't know the meaning of the word "suffering" until you've dropped your deck and had to pick up the cards and get them back in the right order.

    • You're among the few that get this [youtube.com] joke.

    • by _merlin ( 160982 )

      Couldn't you have put the card deck through a card reader attached to a teleprinter to get a listing that you could visually check before submitting it and paying for the computer time to compile and run it? Also, the assignment operator in Pascal is := (not ;=) because it uses = as the equality operator. It's always two characters, not a single special character. C uses = for assignment and == for equality - most languages need you to be explicit about the difference, and it's often confusing for beginn

      • In 1974 a typical university IBM installation might still have both 029 keypunches with expanded EBCDIC character sets, and 026 keypunches which lacked colon and semicolon, and required multi-punch keying to enter these characters, which also would not print. Available offline print options were the 557 interpreter which printed only 60 out of 80 character positions and also lacked these characters, and the similarly hindered 407 accounting machine, which printed to fanfold paper. IBM 1403 mainframe and sp
        • We had the 026 keypunch machines. The computer was a CDC 6600. I got a "B" in the class. I muddled through, but coding was never my strength.
    • by strike6 ( 823490 )
      Actually I do. I had to do a similar thing in High School in Los Angeles in the early 80's. The school district allowed us access to their mainframes at night when they weren't in use for school related purposes. I had to bubble in Hollerith cards with a #2 pencil like a scantron test. So, I created my deck that way and had to make sure they were in exact order and give it to my teacher. He'd send them off overnight and I'd get the results n the morning. Only then did I find out if my run failed. If
      • OK. You win. I've never heard of anyone scratching in Hollerith cards like that, let alone still doing that in the 80's. Wow... I tip my hat to you!
    • Perhaps it was done only for operator input clarity or used an encoding other than EBCDIC. On the IBM 029, it would be accomplished by the chord MULT PCH + NUMERIC + F + V. Unfortunately, the EBCDIC representation of "=" is 0x5E is completely covered by ";" 0x7E. Pressing the MULT PCH key would be unnecessary in this case, and NUMERIC + F would suffice. If so, it's possible source programs printed using other tools would show "A;B" on printouts unaware of this context.
    • by brec ( 472981 )

      The second edition of the Pascal User Manual and Report, copyright 1974, is on my lap. I wrote my first code as a college junior in Assistant Professor Niklaus Wirth's class, Introduction to Algorithmic Processes, in 1965. It was an Algol-60 maze-solving program; I typed each line on an IBM 029 keypunch into one 80-column card. That course was the most fun I had in a college class. I was hooked for life.

  • For some reason my Dad thought it'd be fun to have me try to learn programming when I was a kid and getting interested in computers, so he gave me a manual on Pascal to try learning. Didn't quite work out so well, but I always remember Pascal as the first programming language I was unsuccessful at learning. Since then though I'd never actually seen Pascal mentioned or used anywhere outside of that. I think this news is the first time I've seen Pascal mentioned anywhere in decades.
  • The short post doesn't clarify hardware design, but Pascal had a huge influence on Verilog. Even if your local EE doesn't know a bit of Pascal, I am sure they would recognize the syntax.
  • ...let's all embrace strong data typing.
  • I once collected a lot of cred and, possibly, a later promotion for implementing one of his algorithms to improve an application's performance in the early 90s. I will never forget the value of partially ordered heaps!
  • Begin
    Writeln('Goodbye, World.')
    End
  • program tribute;
    begin
    (* * *) writeln('Godspeed, father');
    end.
    (* * /. doesn't support leading spaces or &nbsp; in <code> blocks *)

    Run it online here [onlinegdb.com]

The most difficult thing in the world is to know how to do a thing and to watch someone else doing it wrong, without commenting. -- T.H. White

Working...