Get the top HN stories in your inbox every day.
tasty_freeze
blast
The joke goes back to Adriaan van Wijngaarden introducing Wirth at a conference in the 1960s. I'd love to see a video of the audience reaction to that one.
https://en.wikiquote.org/wiki/Niklaus_Wirth
https://lists.racket-lang.org/users/archive/2014-July/063519...
moritzwarhier
Today I learned (from the Wikiquote page), what an obviously socially witty person he seems to have been!
> Finally a short story for the record. In 1968, the Communications of the ACM published a text of mine under the title "The goto statement considered harmful", which in later years would be most frequently referenced, regrettably, however, often by authors who had seen no more of it than its title, which became a cornerstone of my fame by becoming a template: we would see all sorts of articles under the title "X considered harmful" for almost any X, including one titled "Dijkstra considered harmful". But what had happened? I had submitted a paper under the title "A case against the goto statement", which, in order to speed up its publication, the editor had changed into a "letter to the Editor", and in the process he had given it a new title of his own invention! The editor was Niklaus Wirth.
It is refreshing to see the old-fashioned trope of the genius computer scientist / software enginieer as a "foreigner to the world" being contested again and again by stories like this.
Of course people like Niklaus Wirth are exceptional in many ways, so it might be that the trope has/had some grain of truth, that just does not co-correlate with the success of said person :)
And of course people might want to argue about the differences betweem SE, CS and economics.
After all that rambling... RIP and thank you Niklaus!
lallysingh
ACM Historian JAN Lee said he was the origin of that joke, if I recall that conversation correctly.
rabbits77
The joke really only works if you use his first name! The complete joke is that "by value" means pronouncing first and last name to sound like "Nickles Worth".
alanbernstein
"worth" alone still means "value" though
LoveMortuus
True, but I believe the person above you is referring to the fact that the name sounds like nickels (coins) which are generally worth cents. :P
ggambetta
The way I understand it, it doesn't -- by name (aka by reference) vs by value, as in function arguments.
ak_111
Way better interpretation that i missed!
coldtea
I always (and still) undestood it to just need the surname.
phooda
He was the go to guy for witty comments.
fsckboy
Dijkstra would consider that one harmful. In America we consider Wirth the to go guy for witty takeaways.
tomcam
Sweet! Annoyed I didn’t think of that one
vram22
Yogi Berra would love you.
vram22
worthy takeaways
vram22
Yes, Macs do have some worth, though they are harmful.
We should take them away.
vram22
Goto the top of the class.
wiz21c
Best CS pun ever. Thanks for sharing !!!
the_arun
Looks like he had a good sense of humor too.
simonebrunozzi
This is brilliant.
It reminds me of my only meeting with Andy Tanenbaum / AAT [0], one of the smartest, nicest computer science guy I've ever met in my life. I can't recall the many puns and jokes he shared, but it was just incredible.
vram22
I saw it stated as pronounced as Veert, somewhere, maybe in his Wikipedia or Wikiquote pages.
Thorrez
The linked tweet says "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."
nwellnhof
It's pronounced with an ɪ like in "wit".
vram22
Okay, either me or the ref. may have been wrong. but I distinctly remember "Veert", because it was non-intuitive to me (as the way to pronounce Wirth), as a guy who didn't know any German at the time, only English. So the ref., probably.
dotancohen
I think that the "i" sound like in "wit" does not exist in German. The Germans pronounce "i" like English speakers pronounce "ee".
lukego
Besides all his innumerable accomplishments he was also a hero to Joe Armstrong and a big influence on his brand of simplicity.
Joe would often quote Wirth as saying that yes, overlapping windows might be better than tiled ones, but not better enough to justify their cost in implementation complexity.
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.
cscheid
> not _better enough_
Wirth was such a legend on this particular aspect. His stance on compiler optimizations is another example: only add optimization passes if they improve the compiler's self-compilation time.
Oberon also, (and also deliberately) only supported cooperative multitasking.
superluserdo
>His stance on compiler optimizations is another example: only add optimization passes if they improve the compiler's self-compilation time.
What an elegant metric! Condensing a multivariate optimisation between compiler execution speed and compiler codebase complexity into a single self-contained meta-metric is (aptly) pleasingly simple.
I'd be interested to know how the self-build times of other compilers have changed by release (obviously pretty safe to say, generally increasing).
amelius
Hmm, but what if the compiler doesn't use the optimized constructs, e.g. floating point optimizations targeting numerical algorithms?
teleforce
His stance should be adopted by all languages authors and designers but apparently it's not. The older generation of programming language guru like Wirth and Hoare are religiously focused on simplicity hence they never take compilation time for granted unlike most popular modern languages authors. C++, Scala, Julia and Rust are all behemoth in term of complexity in language design hence have very slow compilation time. Popular modern languages like Go and D are the breath of fresh air with their lightning fast compilation due to their inherent simplicity in their design. This is to be expected since Go is just a modern version of Modula and Oberon, and D is designed by a former aircraft engineer where simplicity is mandatory not an option.
thesz
You cannot add a loop skew optimization to compiler before compiler needs a loop skew optimization. Which it would not need at all because it is loop skew optimization (it requires matrix operations) that need a loop skew optimization.
In short, compiler is not an ideal representation of the user programs it needs to optimize.
frognumber
Supported cooperative multitasking won in the end.
It just renamed itself to asynchronous programing. That's quite literally what an 'await' is.
jerf
It hasn't won. Threads are alive and well and I rather expect async has probably already peaked and is back on track to be a niche that stays with us forever, but a niche nevertheless.
Your opinion vs. my opinion, obviously. But the user reports of the experience in Rust is hardly even close to unanimous praise and I still say it's a mistake to sit down with an empty Rust program and immediately reach for "async" without considering whether you actually need it. Even in the network world, juggling hundreds of thousands of simultaneous tasks is the exception rather than the rule.
Moreover, cooperative multitasking was given up at the OS level for good and sufficient reasons that I see no evidence that the current thrust in that direction has solved. As you scale up, the odds of something jamming your cooperative loop monotonically increase. At best we've increased the scaling factors, and even that just may be an effect of faster computers rather than better solutions.
mkl
It has mostly won for individual programs, but very much not for larger things like operating systems and web browsers.
kragen
async/await has the advantage over cooperative multitasking that it has subroutines of different 'colors', so you don't accidentally introduce concurrency bugs by calling a function that can yield without knowing that it can yield
i think it's safe to say that the number of personal computers running operating systems without preemptive multitasking is now vanishingly small
as i remember it, oberon didn't support either async/await or cooperative multitasking. rather, the operating system used an event loop, like a web page before the introduction of web workers. you couldn't suspend a task; you could only schedule more work for later
smartscience
I always knew my experience with RISC OS wouldn't go to waste!
pjmlp
Not in Java, .NET and C++ case, as it is mapped to tasks, managed by threads, and you can even write your own scheduler if so inclined.
vram22
>Supported cooperative multitasking won in the end.
Is this the same as coroutines as in Knuth's TAOCP volume 1?
Sorry, my knowledge is weak in this area.
spongebobism
That's fascinating. I'd imagine there are actually two equilibria/stable states possible under this rule: a small codebase with only the most effective optimization passes, or a large codebase that incorporates pretty much any optimization pass.
A marginally useful optimization pass would not pull its weight when added to the first code base, but could in the second code base because it would optimize the run time spent on all the other marginal optimizations.
Though the compiler would start out closer to the small equilibrium in its initial version, and there might not be a way to incrementally move towards the large equilibrium from there under Wirth's rule.
steveklabnik
Do you happen to remember where he said that? I've been looking for a citation and can't find one.
I think that some of the text in "16.1. General considerations" of "Compiler Construction" are sorta close, but does not say this explicitly.
steveklabnik
Someone on reddit found it! https://www.reddit.com/r/programming/comments/18xqea3/niklau...
kristianp
In the past, this policy of Wirth's has been cited when talking about go compiler development.
Go team member, Robert Griesemer, did his Phd under Mössenböck and Wirth.
pjmlp
Note that Oberon descendents like Active Oberon and Zonnon, do have premptive multitasking.
gjvc
> ... 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 peripherals.
This was a fantastic talk. https://www.youtube.com/watch?v=EXY78gPMvl0
lynguist
Thank you for sharing. I was there and didn’t expect to see this again. :)
He had the crowd laughing and cheering, and the audience questions in the end were absolutely excellent.
gjvc
Always glad to be of service.
I think I last watched it during the pandemic and was inspired to pick up reading more about Oberon. A demonstration / talk like that is so much better when the audience are rooting for the presenter to do well.
microtherion
According to his daughter (she runs a grocery store, and my wife occasionally talks to her), he kept on tinkering at home well past 80.
vram22
A Wirthwhile ambition. :)
Sorry, couldn't resist.
I first wrote it as "worthwhile", but then the pun practically fell out of the screen at me.
I love Wirth's work, and not just his languages. Also his stuff like algorithms + data = programs, and stepwise refinement. Like many others here, Pascal was one of my early languages, and I still love it, in the form of Delphi and Free Pascal.
RIP, guruji.
Edited to say guruji instead of guru, because the ji suffix is an honorific in Hindi, although guru is already respectful.
undefined
kragen
i hope you are! we miss you
bhaak
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.
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.
He will be missed.
microtherion
I'm also a student of his, and later met him socially on a few occasions as a graduate student (in a different institute).
Undergraduate students were all in awe of him, but I got the impression that he did not particularly enjoy teaching them (Unlike other professors, however, he did not try to delegate that part of his responsibilities to his assistants). He seemed to have a good relationship with his graduate students.
In his class on compiler construction, he seemed more engaged (the students were already a bit more experienced, and he was iterating the Oberon design at the time). I remember an exchange we had at the oral exam — he asked me to solve the "dangling ELSE" problem in Pascal. I proposed resolving the ambiguity through a refinement of the language grammar. He admitted that this would probably work, but thought it excessively complex and wondered where I got that idea, since he definitely had not taught it, so I confessed that I had seen the idea in the "Dragon Book" (sort of the competition to his own textbook). Ultimately, I realized that he just wanted me to change the language to require an explicit END, as he had done in Modula-2 and Oberon.
Socially, he was fun to talk to, had a great store of computer lore, of course. He was also much more tolerant of "heresies" in private than in public, where he came across as somewhat dogmatic. Once, the conversation turned to Perl, which I did not expect him to have anything good to say about. To my surprise, he thought that there was a valid niche for pattern matching / text processing languages (mentioning SNOBOL as an earlier language in this niche).
sterlind
which languages? I've just restored an Amiga 500 with Workbench 2.1 and I'd love to honor his memory.
mkesper
Modula2 was available and got used on Amiga. Silly teenager me found such high level languages "cheating" at the time.
greggman7
Lords of the Rising Sun was written in Modula2 on the Amiga
https://www.google.com/search?q=lords+of+the+rising+sun
My understanding (please correct me) is that Turbo Pascal on PC was actually Modula2 ?
bhaak
At least several Pascal, Modula-2, and Oberon-2 compilers.
My very first compiled programming language was Pascal. I got the free "PCQ Pascal" from the Fish disks as I wasn't able to get the C headers from Commodore which I would have needed for doing proper Amiga programming. Likewise later Oberon-A although I don't remember where I got that from.
There were also commercial Modula-2 and Oberon-2 compilers. I just found that the Modula-2 compiler was open sourced some years back. https://m2amiga.claudio.ch/
Aminet has directories for Oberon and Modula-2 related programs: https://aminet.net/dev/obero and https://aminet.net/dev/m2
pjmlp
Yes, the Amiga was one of the platforms where Modula-2 had quite a crowd, more so than on the PC, as we got spoiled with Turbo Pascal instead.
kragen
begin
this is terrible news;
is there a better source than twitter (edit: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html thanks to johndoe0815);
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;
young people may not be aware of the practical, as opposed to academic, significance of his work, so let me point out that begin
the ide as we know it today was born as turbo pascal;
most early macintosh software was written in pascal, including for example macpaint;
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;
tex is written in pascal;
end;
end.
rollcat
> wirth was the greatest remaining apostle of simplicity, correctness, and software built for humans to understand;
And yet far from the last. Simple, correct, and beautiful software is still being made today. Most of it goes unnoticed, its quiet song drowned out by the cacophony of attention-seeking, complex, brittle behemoths that top the charts.
That song never faded, you just need to tune in.
kragen
who are today's new great minimalists?
rollcat
In no particular order: 100r.co, OpenBSD (& its many individual contributors such as tedu or JCS), Suckless/9front, sr.ht, Alpine, Gemini (&gopher) & all the people you can find there, Low Tech Magazine, antirez, Fabrice Bellard, Virgil Dupras (CollapseOS), & many other people, communities, and projects - sorry I don't have a single comprehensive list, that's just off the top of my head ;)
jonjacky
Kartik Agaram [1], The paper about his Mu project [2] presents a rationale for a particular kind of minimalism, and its realization.
ryukoposting
I use Suckless's terminal, st. It's great. To install it, I compile it from source. It takes a couple seconds. Take a look at their work.
wozer
No better source yet, I think.
But it is the real account of Bertrand Meyer, creator of the Eiffel language.
johndoe0815
Niklaus Wirth's death was also announced (by Andreas Pirklbauer) an hour ago on the Oberon mailing list:
kragen
thank you
dang, maybe we can change the url to this instead? this url has been stable for at least 14 years (http://web.archive.org/web/20070720035132/https://lists.inf....) and has a good chance of remaining stable for another 14, while the twitter url is likely to disappear this year or show different results to different people
undefined
kragen
yeah, and i hope meyer would know
but still, it's twitter, liable to vanish or block non-logged-in access at any moment
PaulHoule
Since Twitter is suppressing the visibility of tweets that link outside their site I think it would be perfectly fair to block links to twitter, rewrite them to nitter, etc. There also ought to be gentle pressure on people who post to Twitter to move to some other site. I mean, even I've got a Bluesky invite now.
yawaramin
Martin Odersky, creator of the Scala language and Wirth's student, also seems to believe it: https://twitter.com/odersky/status/1742618391553171866
vidarh
I've been a massive fan of the PhD dissertation of Wirth's student Michael Franz since I first read it in '94. He's now a professor at UC Irvine, where he supervised Andreas Gal's dissertation work on trace trees (what eventually became TraceMonkey)
kragen
thank you, i definitely should have mentioned franz's work, even though i didn't know he was gal's advisor
perhaps more significant than tracemonkey was luajit, which achieves much higher performance with the tracing technique
Qem
> wirth was the greatest remaining apostle of simplicity, correctness, and software built for humans to understand; now only hoare and moore remain
Also Alan Kay still with us.
kragen
in the neat/scruffy divide, which goes beyond ai, wirth was the ultimate neat, and kay is almost the ultimate scruffy, though wall outdoes him
alan kay is equally great, but on some axes he is the opposite extreme from wirth: an apostle of flexibility, tolerance for error, and trying things to see what works instead of planning everything out perfectly. as sicp says
> Pascal is for building pyramids—imposing, breathtaking, static structures built by armies pushing heavy blocks into place. Lisp is for building organisms—imposing, breathtaking, dynamic structures built by squads fitting fluctuating myriads of simpler organisms into place.
kay is an ardent admirer of lisp, and smalltalk is even more of an organism language than lisp is
nerpderp82
I had wanted to interview Val Schorre [1], and looked him up on a business trip because I was close. Died 2017, seems like a righteous dude.
https://www.legacy.com/us/obituaries/venturacountystar/name/...
rramadass
> wirth was the greatest remaining apostle of simplicity, correctness, and software built for humans to understand
Absolutely!
And equally important was his ability to convey/teach CS precisely, concisely and directly in his books/papers. None of them have any fluff nor unnecessary obfuscation in them. These are the models to follow and the ideals to aspire to.
As an example see his book Systematic Programming: An Introduction.
usr1106
> tex is written in pascal;
Just thought about that when Donald Knuth's Christmas lecture https://www.youtube.com/live/622iPkJfYrI lead me to one of his first TeX lectures https://youtu.be/jbrMBOF61e0 : If I install TeX on my Linux machine now, is that still compiled from the original Pascal source? Is there even a maintained Pascal compiler anymore? Well, GCC (as in GNU compiler collection) probably has a frontend, but that still does not answer the question about maintenance.
These were just thoughts. Of course researching the answers would not be overly complicated.
svat
> If I install TeX on my Linux machine now, is that still compiled from the original Pascal source?
If you install TeX via the usual ways–TeX Live and MikTeX are the most common—then the build step runs a program (like web2c) to convert the Pascal source (with changes) to C, then uses a C compiler. (So the Pascal source is still used, but the Pascal "compiler" is a specialized Pascal-to-C translator.) But there is also TeX-FPC (https://ctan.org/pkg/tex-fpc), a small set of change (patch) files to make TeX compilable with the Free Pascal compiler (https://gitlab.com/freepascal.org/fpc/).
For more details see https://tex.stackexchange.com/questions/111332/how-to-compil...
bumbledraven
> wirth was the greatest remaining apostle of simplicity, correctness, and software built for humans to understand; now only hoare and moore remain…
No. There is another.
https://en.m.wikipedia.org/wiki/Arthur_Whitney_%28computer_s...
vidarh
Some would dispute the "built for humans to understand". Whitney's work is brilliant, but it's far less accessible than Wirth's.
bumbledraven
The point of Whitney's array languages is to allow your solutions to be so small that they fit in your head. Key chunks should even fit on one screen. A few years ago, Whitney reportedly started building an OS using these ideas (https://aplwiki.com/wiki/KOS).
kragen
well, simplicity anyway, arguably (like moore) to an even higher degree than wirth
omoikane
Niklaus Wirth was also responsible for changing the title of Dijkstra's paper to "Goto Statement Considered Harmful".
tommsy64
Relevant excerpt of Dijkstra's own account (from EWD1308 [1]):
Finally a short story for the record. In 1968, the Communications of the ACM published a text of mine under the title "The goto statement considered harmful", which in later years would be most frequently referenced, regrettably, however, often by authors who had seen no more of it than its title, which became a cornerstone of my fame by becoming a template: we would see all sorts of articles under the title "X considered harmful" for almost any X, including one titled "Dijkstra considered harmful". But what had happened? I had submitted a paper under the title "A case against the goto statement", which, in order to speed up its publication, the editor had changed into a "letter to the Editor", and in the process he had given it a new title of his own invention! The editor was Niklaus Wirth.
[1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1... PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
bb88
And it continues to this day!
raphlinus
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.
de6u99er
Great story. Thanks for sharing.
_ph_
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.
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.
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.
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.
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.
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.
END.
khazhoux
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.
skrebbel
I still wonder what the tech world would’ve been like today if Wirth had had the marketing sense to call Modula “Pascal 2”
musicale
I'm kind of a fan of Lola, an easy-to-learn HDL which was inspired by Pascal/Oberon vs. Verilog (inspired by C) and VHDL, inspired by Ada.
I like Wirth's whole software stack: RISC-5 (not to be confused with RISC-V) implemented in Lola, Oberon the language, and Oberon the environment. IIRC Lola can generate Verilog - I think the idea was that students could start with an FPGA board and create their own CPU, compiler, and OS.
I also like his various quips - I think he said something like "I am a professor who is a programmer, and a programmer who is a professor." We need more programmer/professors like that. Definitely an inspiration for systems people everywhere.
pjmlp
Also collaborated with Apple on Object Pascal initial design, his students on Component Pascal, Active Oberon, Zonnon, and many other research projects derived from Oberon.
bsimpson
For those who don't know, Pascal was what a lot of the classic Mac software was written in, before Objective-C and Swift. It grew into Delphi, which was a popular low-code option on Windows.
merelysounds
I wouldn’t describe Delphi as low code, it is an IDE. Wikipedia also describes it like this[1] and does not include it in its list of low code development platforms[2].
[1]: https://en.m.wikipedia.org/wiki/Delphi_(software)
[2]: https://en.m.wikipedia.org/wiki/List_of_low-code_development...
musicale
It's a shame that Pascal was largely abandoned (except for Delphi, which lived on for a while); I believe several Pascal compilers supported array bounds checking, and strings with a length field. In the 1980s this may have been considered overly costly (and perhaps it is considered so today as well), but the alternative that the computing field and industry picked was C, where unbounded arrays and strings were a common source of buffer overflow errors. Cleaning this up has taken decades and we still probably aren't done.
Better C/C++ compilers and libraries can help, but the original C language and standard library were certainly part of the issue. Java and JavaScript (etc.) may have their issues but at least chasing down pointer errors usually isn't one of them.
sedatk
AFAIK, even Photoshop was originally written in Pascal.
TremendousJudge
I learned Pascal and MODULA-2 in college, in my first two programming semesters. MODULA-2 was removed shortly afterwards but Pascal is still used in the introductory programming course. I'm very happy to have had these as the languages that introduced me to programming and Wirth occupies a very special place in my heart. His designs were truly ahead of their time.
scotty79
I had Pascal and some Modula as well (on concurrent programming course).
I learned C++ later myself as a Pascal with bizzare syntax. I always felt like semantics of C++ was taken entirely from Pascal. No two lanuages ever felt closer to each other for me. Like one was just reskin of the other.
pjmlp
I already told this story multiple times, when I came to learn C, I already knew Turbo Pascal since 4.0 up to 6.0, luckly the same teacher that was teaching us about C, also had access to Turbo C++ 1.0 for MS-DOS.
I adopted C++ right away as the sensible path beyond Turbo Pascal for cross-platform code, and never seen a use for C primitive and insecure code, beyond being asked to use it in specific university projects, and some jobs during the dotcom wave.
On Usenet C vs C++ flamewars, there might be still some replies from me on the C++ side.
TremendousJudge
I learned C that way (algorithms class was in C), even had a little printout table of the different syntaxs for the same instructions (here's how you write a for, if, record, declare a variable, etc). At the time I remember thinking that the C syntax was much uglier, and that opinion has stayed with me since -- when I learned Python everything just seemed so natural.
de6u99er
Pascal was the second language after Basic. I was always interested in learning Modula, but picked up Delphi instead.
kloch
Pascal was the second language I learned after Fortran. I didn't particularly like Fortran but Pascal really hit home and motivated me to learn C.
undefined
parshua
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.
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."
bmo-at
He was indeed! I wrote my bachelors thesis on bringing modularity to a language for monitoring real time systems and his work, especially on MODULA-2, was a huge source of inspiration.
pjmlp
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.
FpUser
It is sad but the guy had long and fulfilling life many can only dream about. I would raise a toast to that. Hopefully he is in a coding Valhalla.
082349872349872
Not just coding: he was also interested* in hardware and built whole machines.
(* might Carver Mead describe him as a metaphorical "tall, thin, person"?)
kragen
he very well might, dave. i miss talking to you
frognumber
I am not very sad. Death is part of life.
I'm much more sad when life sort of decays (Alzheimer's, dementia, or simply becoming slow/stupid/decrepit), ends early, or when life is simply wasted.
He was about to turn 90.
He lead a long, impactful, fulfilling life.
That's a life to celebrate.
marttt
This is beautiful phrasing, very much how I think about life myself. Let's hope the last days of Mr Wirth were free from physical pain. Thinking of my grandpa who died all of a sudden, apparently without serious physical impairments or aches, at age 90, after a happy, well-lived, ethical life.
Heaven is happier by one person now for sure, again. And maybe some compilers over there also need tinkering. Rest in peace, Mr Wirth.
ChuckMcM
From a comment I left on Mastodon:
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.
olvy0
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.
Learned most of it from a wonderful book whose name I have forgotten, it had a wrench on its cover, I think?
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.
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.
lioeters
> Pascal was my first "real" language after Basic, learned it in the late 80s
Me too, word for word. I spent a few years in my pre-teens immersed in the Turbo Pascal IDE, which was a full-on educational tool of its own that explained everything about the language. I moved on to C after that, but I still get a nostalgic vibe from looking at Pascal syntax. It was a great foundational experience for me as a programmer.
ksec
>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.
I still to this day dont understand why vast majority of people in programming dislike the syntax of Pascal.
Get the top HN stories in your inbox every day.
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".
That led him to quip, "In Europe I'm called by name, but in the US I'm called by value."