Besides his contribution to language design, he authored one of the best puns ever. His last name is properly pronounced something like "Virt" but in the US everyone calls him by "Worth".<p>That led him to quip, "In Europe I'm called by name, but in the US I'm called by value."
Besides all his innumerable accomplishments he was also a hero to Joe Armstrong and a big influence on his brand of simplicity.<p>Joe would often quote Wirth as saying that yes, overlapping windows might be better than tiled ones, but not <i>better enough</i> to justify their cost in implementation complexity.<p>RIP. He is also a hero for me for his 80th birthday symposium at ETH where he showed off his new port of Oberon to a homebrew CPU running on a random FPGA dev board with USB peropherals. My ambition is to be that kind of 80 year old one day, too.
I'm a former student of his. He was one of the people that made me from a teenager that hacked on his keyboard to get something to run to a seasoned programmer that thinks before he codes.<p>Even before I met him at the university I was programming in Oberon because there was a big crowd of programmers doing Wirth languages on the Amiga.<p>He will be missed.
begin<p>this is terrible news;<p>is there a better source than twitter (edit: <a href="https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html" rel="nofollow">https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html</a> thanks to johndoe0815);<p>wirth was the greatest remaining apostle of simplicity, correctness, and software built for humans to understand; now only hoare and moore remain, and moore seems to have given the reins at greenarrays to a younger generation;<p>young people may not be aware of the practical, as opposed to academic, significance of his work, so let me point out that begin<p>the ide as we know it today was born as turbo pascal;<p>most early macintosh software was written in pascal, including for example macpaint;<p>robert griesemer, one of the three original designers of golang, was wirth's student and did his doctoral thesis on an extension of oberon, and wirth's languages were also a very conspicuous design inspiration for newsqueak;<p>tex is written in pascal;<p>end;<p>end.
Niklaus Wirth was also responsible for changing the title of Dijkstra's paper to "Goto Statement Considered Harmful".<p><a href="https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6" rel="nofollow">https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6</a>
Prof Wirth was a major inspiration for me as a kid. I eagerly read his book on Pascal, at the time not appreciating how unusual it was for its elegance and simplicity. I also followed with interest his development of the Oberon language and Lilith workstation. When I was 13, he gave a talk not too far away, I think it might have been Johns Hopkins, and my dad took me to it. It was a wonderful experience, he was very kind and encouraging, as I think the linked photo[1] shows.<p>[1]: <a href="https://mastodon.online/@raph/111693863925852135" rel="nofollow">https://mastodon.online/@raph/111693863925852135</a>
A sad day. He was a titan of computing and still deserved even more attention that the got. If his languages had been more prevalent in software development, a lot of things would be in a better shape.<p>After playing around a bit with Basic on the C64/128, Pascal became my first "real" programming language I learned. In the form of UCSD Pascal on Apple II at my school as well as Turbo Pascal 3.0 on a IBM PC (no AT or any fanciness yet). Actually a Portable PC with a build-in amber CRT.<p>When I got my Amiga 500, Modula 2 was a very popular language on the Amiga and actually the M2Amiga system was the most robust dev env. I still think fondly of that time, as Modula 2 made it so easy to develop structured and robust programs. The module concept was quite ahead of the time, while the C world kept recompiling header files for so many years to come. Today, Go picked up a lot from Modula 2, one reason I immediately jumped onto it. Not by chance, Robert Griesemer was a student of Wirth.<p>During the 90ies, while MS Dos was still used, Turbo Pascal still was the main go-to language on the PC for everyone, as it was powerful, yet approachable for non-fulltime software developers. It picked up a lot of extensions from Modula 2 too and also had a nice Object system. It peaked at the version 6 and 7. Probably to the day my favorite development environment, partially because of the unmatched speed of a pure character based UI. And Turbo Pascal combined the nice development environment with a language which found a great compromise between power and simplicity.<p>Unfortunately, I was only vaguely familiar with his later work on Oberon. I ran the Oberon system natively on my 386 for some toying around. It was extremely impressive with its efficiency and full GUI in the time of DOS on the PC. A pity, it didn't achive more attention. Probably it would have been very successful if it had gained tracking in the not too late 80ies, in the early 90ies of course Windows came along.<p>From a puristic point of view, the crowning achievement was of course when he really earned the job title of a "full stack developer", not only designing Oberon and the OS, but the CPU to run it as well. Very impressive and of a huge educational value.<p>END.
Wirth was the chief designer of the programming languages Euler (1965), PL360 (1966), ALGOL W (1966), Pascal (1970), Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2 (1991), and Oberon-07 (2007). He was also a major part of the design and implementation team for the operating systems Medos-2 (1983, for the Lilith workstation), and Oberon (1987, for the Ceres workstation), and for the Lola (1995) digital hardware design and simulation system. In 1984, he received the Association for Computing Machinery (ACM) Turing Award for the development of these languages.
I started my first company based on Delphi, which itself was based on Turbo Pascal. Wirth was a great inspiration, and his passing is no small loss.
May his work keep inspiring new programmers for generations to come.<p>One of his quotes: "Whereas Europeans generally pronounce my name the right way ('Ni-klows Wirt'), Americans invariably mangle it into 'Nick-les Worth'. This is to say that Europeans call me by name, but Americans call me by value."
A sad day for the history of computing, the loss of a great language designer, that influenced many of us in better ways to approach systems programming.
From a comment I left on Mastodon:<p>He gave a talk at the CHM (He was inducted as a fellow in 2004) I got to talk with him and was really struck by someone who had had such a huge impact was so approachable. When another person in the group challenged Modula-2 he listened respectfully and engaged based on the the idea that the speakers premise was true, then nicely dissented based on objective observations. I hope I can always be that respectful when challenged.
Pascal was my first "real" language after Basic, learned it in the late 80s, wrote a couple of small apps for my dad in it.<p>Learned most of it from a wonderful book whose name I have forgotten, it had a wrench on its cover, I think?<p>Anyway, still rocking Pascal to this day, since I still maintain 3 moderately complex installers written with InnoSetup, which uses RemObjects Pascal as a scripting language.<p>4 years ago, a new guy on our team, fresh from school, who never even knew this language existed, picked up Pascal in a week, and started maintaining and developing our installers much further. He did grumble a bit about the syntax but otherwise did a splendid job. I thought that was a tribute to the simplicity of the language.
now would be a good time read this in his memory <a href="https://cr.yp.to/bib/1995/wirth.pdf" rel="nofollow">https://cr.yp.to/bib/1995/wirth.pdf</a><p>Also, his Oberon system provides a rich seam to mine. This, from a symposium held at ETH Zurich on the occasion of his 80th birthday in 2014, is a whirlwind retrospective.
"Reviving a computer system of 25 years ago" <a href="https://www.youtube.com/watch?v=EXY78gPMvl0" rel="nofollow">https://www.youtube.com/watch?v=EXY78gPMvl0</a><p>One of the greats.
I just needed a feature of Pascal yesterday in one of my Rust libraries: ranged integers. I know, you can go about it in different ways, like structs with private fields and custom constructors, or just with a new generic type. But, having the ability to specify that some integer can only be between 15..25 built-in is a fantastic language feature. That's even so with runtime bounds checking disabled because the compiler would still complain about some subset of violations.<p>What an innovator and a role model. I wish I can be as passionate about my work in my 80's as him.
Pascal was my second language, after BASIC. I was about twelve and pointers cost me a little to understand. But the first hurdle was not having line numbers. It seemed weird.<p>In the end, it was definitely worth the effort, and I learnt good habits from it. I used it in college, and I suppose I kinda still do, because I do a lot of PL/SQL.<p>He was hugely important for generations of coders.<p>RIP.
R.I.P. Niklaus Wirth. Your ideas, languages and designs were the inspiration for several generations of computer scientists and engineers. Your Lilith computer and Modula-2 language kindled a small group of students in Western Siberia’s Akademgorodok to create KRONOS - an original RISC processor-based computer, with it’s own OS and Modula-2 complier, and lots of tools. I was very lucky to join the KRONOS team in 1986 as a 16 yo complete beginner, and this changed my life forever as I become obsessed with programming. Thank you, Niklaus.
When I first got to play with Turbo Pascal (3.something?), I was more impressed by the concise expression of the language in the EBNF in the manual than by Turbo Pascal itself, and it was what made me interested in parsers and compilers, and both Wirth's approach to them and the work his students undertook in his research group has been an interest of mine for well over 30 years since.
I hold an old print of his Pascal language report near and dear on my.bookshelf. he bootstrapped oberon with one peer in 1-2 years.<p>his preference for clarity over notational fancyness inspired so many of us.<p>the Pascal family of languages are not only syntactically unambiguous to the compiler they are also clear and unambiguous to humans. can. the Carbon successor to c++ strives for the same iirc.
Wirth made one of the most critical observations in the whole history of computing: as hardware develops, software complicates to compensate and slow things down even further.
Still remember at 14 scrounging $$ together to buy a 2nd hand copy of a Modula-2 compiler for my Atari ST and then eagerly combing through the manual as my parents drove me home from the city. Really was a different era. Like a lot of other people who have posted here who probably came of age like me in the 80s, I went from BASIC to Pascal to Modula-2 and only picked up C later. Wirth's creations were so much a part of how I ended up in this industry. The world of software really owes him a lot.
The greatest of all quiche eaters has just passed away. May he rest in peace. <a href="https://www.pbm.com/~lindahl/real.programmers.html" rel="nofollow">https://www.pbm.com/~lindahl/real.programmers.html</a> But seriously, PASCAL was the first programming language I loved that's actually good. Turbo Pascal. Delphi. Those were the days. We got a better world thanks to the fact that Niklaus Wirth was part of it.
I don't see obituaries yet. In the meantime: <a href="https://en.wikipedia.org/wiki/Niklaus_Wirth" rel="nofollow">https://en.wikipedia.org/wiki/Niklaus_Wirth</a>
Compiler construction was and is one of my all time favorite books on the matter. You can't put it down once you start, it is that good.<p><a href="https://people.inf.ethz.ch/wirth/CompilerConstruction/CompilerConstruction1.pdf" rel="nofollow">https://people.inf.ethz.ch/wirth/CompilerConstruction/Compil...</a>
This is a huge loss in computer science. Everyone interested in computing, no matter if using other languages than Pascal or derivatives, should read his "Algorithms + Data Structures = Programs" book.
R.I.P.
Rest in peace. I owe a lot to his work.<p>"Algorithms + Data Structures = Programs" was a seminal book for me when I was learning about software development and it has influenced how I think about programming. Also, Pascal (in its various dialects) was my main language for many years on multiple platforms (CP/M, MS-DOS, Windows).
ADSP podcast (named after Wirth's book) just had an episode on the history of Pascal <a href="https://adspthepodcast.com/2023/12/29/Episode-162.html" rel="nofollow">https://adspthepodcast.com/2023/12/29/Episode-162.html</a>
After having read some of the comments on Pascal here -- fellow HNers, what's your view on Pascal as a teaching/introductory language in 2023, for children aged 10+? Mostly thinking of FreePascal, but TurboPascal in DOSBox/FreeDOS/SvarDOS is also a possibility.<p>I'm also thankful for references to "timeless" Pascal books or online teaching materials that would be accessible for a 10+ year old kid who is fine with reading longer texts.<p>(My condolences are below, fwiw. His death is, interestingly, a moment of introspection for me, even if I'm just a hobbyist interested in small systems and lean languages.)
My very first language was Pascal. I have since forgotten it, but distinctly remember the feeling computers are fun! And the red pascal book. Thank you Niklaus, for all the fun and impact you had on subsequent languages.
I really appreciate his work. He had a full life. Since yesterday, without knowing, I was just studying a section of a book detailing the code generation of one of the first Pascal compilers for the CDC 6400.
I was just exploring Pascal last month. I've been meaning to do some more programming in it. I think it's a good compromise for someone who wants a lower level language but doesn't want to use C or C++. The FreePascal compiler also rips through thousands of lines of code a second so the compile times are really short
Here's a fantastic interview with him (in case you speak german): <a href="https://de.wikipedia.org/wiki/Datei:ProfessorNiklausWirth.webm" rel="nofollow">https://de.wikipedia.org/wiki/Datei:ProfessorNiklausWirth.we...</a>
RIP King. 2nd language I learned was Pascal (Turbo 5 then 6) in high school. Tried UCSD P-System from a family friend with corporate/educational connections on 5.25" but didn't have a manual, and this was before the internet. I could/should have tried to use the library to get books about it, but gave up.<p>Fond memories; I feel like the 90s kids were the last ones to really get to appreciate Pascal in a "native" (supportive, institutional) setting.<p>I also loved learning Oberon/Bluebottle (now A2 I guess), which I was so fascinated with. I think that and Plan 9's textual/object interface environments are super interesting and a path we could have taken (may converge to someday?)
RIP, and thanks for helping indirectly to put me on my career path.<p>I learned pascal fairly late in the grand scheme of things (basic->6502 assembly->C and then eventually pascal) but it was used for the vast majority of my formal CS education first by instruction, then by choice, and eventually in my first real programming job. The later pascal dialects remain IMHO far better than any other languages I write/maintain/guide others in using. Like many others of his stature it was just one of his many hits. Niklaus Wirth is one of the giants I feel the industry stands on, and I thank him for that.<p>"All those moments will be lost in time, like tears in rain..."
Barely a week ago I was quoting from a paper of him here in HN, "A plea for lean software". It's been discussed here before:<p><a href="https://news.ycombinator.com/item?id=27661559">https://news.ycombinator.com/item?id=27661559</a><p>RIP
Pascal pointer notation was so logical. Dereferencing a pointer was just a caret to the right of the variable.<p>A double pointer was just two carets. And so on.<p>There was a struct symmetry about the whole thing. C broke that, especially with strict pointers.
I bought the Art of Computer Programming volume 4A a few years ago and didn't even start reading it. 1-3 I read when I… god, my youngest child is almost that age now.<p>I think tonight is the time to start on 4A, before we lose Knuth too.<p>And as I picked it down I noticed that, almost by coincidence, AoCP stood next to Wirth's PiM2. It wasn't intentional but it feels very right. There's a set of language books that end with Systems Programming with Modula 3, the Lua book. Thinking Forth, PiM2, then a gap, then the theory-ish section starts with five volumes of Knuth. Sigh.
Coming from ZX Spectrum at home and seeing the beauty of Turbo Pascal on an IBM PC-compatible has greatly contributed to my love of programming. R.I.P., Professor Wirth.
Pascal (Turbo Pascal on a PC) was my second programming language after Assembler and some C (had a copy of Aztec-C compiler) on an Amiga when I was 17ish. Pascal taught me modular programming, breaking down largensystems. I‘d written my own matrix calc library and would program animations for my physics class. And I learned the basic concepts of OO. It was a joy to program in.<p>RIP Niklaus Wirth.
He must have clicked on a video of Swift 5.9 ..those enums! <a href="https://youtu.be/pD2XZHnDKvo" rel="nofollow">https://youtu.be/pD2XZHnDKvo</a><p>I probably wouldn't have learned algorithms and data structures as[S] well without Pascal but I never learned it right until C eventually cameawrong.<p>PS: We still have Dr. Donald Knuth with us :)
sad. after learning basic on a zx81 my father found thrown out in the trashbin (i still have that machine today) my parents got me a 8088 PC. when my friends were playing games on those atari st and amiga machines, i was progrmaming in turbo pascal 3.0 i found from a cheap book that came with a 5"14 floppy. pascal is the first true language i learned and i would probably not be coding today without Niklaus. he changed my life, and he had a huge, huge impact on computing : pascal, oberon. delphi, and many more things. i will miss him dearly.
RIP, Mr. Wirth.<p>Pascal was the first programming language I ever learned, and a book on it that he coauthored was the first programming book I ever purchased. I hold him (and Pascal) in a special place in my heart.
Modula-2 had a huge influence on my early understanding of Software Engineering and Computer Science. I feel it is one of his under-valued contributions. RIP Niklaus. One of the great ones.
I liked his witticism "You can call me by name (Veert) or call me by value (Worth)."<p>But I can't find a reliable attribution.<p>[edit - see other comment, apparently said by Adriaan van Wijngaarden not Wirth]