[HN Gopher] Niklaus Wirth has died
___________________________________________________________________
Niklaus Wirth has died
Author : aarroyoc
Score : 1088 points
Date : 2024-01-03 18:50 UTC (4 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| kragen wrote:
| 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.
| wozer wrote:
| No better source yet, I think.
|
| But it is the real account of Bertrand Meyer, creator of the
| Eiffel language.
| kragen wrote:
| 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 wrote:
| 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.
| rileyphone wrote:
| Please don't make dang do more work.
|
| https://news.ycombinator.com/item?id=38847048
| kragen wrote:
| bluesky seems like the site for people who think that the
| problem with twitter was that the wrong billionaire gets
| to decide which ideas to suppress
|
| (admittedly you could make the same criticism of hn; it
| certainly isn't decentralized and resilient against
| administrative censorship like usenet was)
| PaulHoule wrote:
| Well I didn't mean to just endorse Bluesky but call it
| out as one of many alternatives.
|
| I'm actually active on Mastodon but I am thinking about
| getting on Instagram as well because the content I post
| that does the best on Mastodon would fit in there.
| kragen wrote:
| it won't surprise you to learn that i like mastodon but
| haven't used it in months
| johndoe0815 wrote:
| Niklaus Wirth's death was also announced (by Andreas
| Pirklbauer) an hour ago on the Oberon mailing list:
|
| https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
| kragen wrote:
| 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.o
| rg/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
| Qem wrote:
| > 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 wrote:
| 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 wrote:
| 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
| /...
|
| [1] https://en.wikipedia.org/wiki/META_II
| kragen wrote:
| yeah, i wish i had had the pleasure of meeting him. i
| reimplemented meta-ii 31/2 years ago and would recommend
| it to anyone who is interested in the parsing problem.
| it's the most powerful non-turing-complete 'programming
| language' i've ever used
|
| http://www.canonical.org/~kragen/sw/dev3/meta5ixrun.py
|
| (i mean i would recommend reimplementing it, not using my
| reimplementation; it takes a few hours or days)
|
| after i wrote it, the acm made all old papers, including
| schorre's meta-ii paper, available gratis; they have
| announced that they also plan to make them open-access,
| but so far have not. still, this is a boon if you want to
| do this. the paper is quite readable and is at
| https://dl.acm.org/doi/10.1145/800257.808896
| nerpderp82 wrote:
| It is a good paper, and I give much respect for ACM
| opening up their paywall of old papers. They even stopped
| rate limiting downloads. I'd like to think my incessant
| whining about this had some effect. :) It is such a
| wonderful thing for curious people everywhere to be able
| to read these papers.
|
| I haven't reimplemented meta-ii, I will.
|
| You might like https://old.reddit.com/r/rust/comments/18w
| nqqt/piccolo_stack...
|
| And https://www.youtube.com/@T2TileProject/videos
| kragen wrote:
| thanks! i like lua a lot despite its flaws; that's what i
| wrote my own literate programming system in. lua's
| 'bytecode' is actually a wordcode (a compilation approach
| which i think wirth's euler paper was perhaps the first
| published example of) and quite similar in some ways to
| wirth's risc-1/2/3/4/5 hardware architecture family
|
| i hope they do go to open access; these papers are too
| valuable to be lost to future acm management or
| bankruptcy
| yawaramin wrote:
| Martin Odersky, creator of the Scala language and Wirth's
| student, also seems to believe it:
| https://twitter.com/odersky/status/1742618391553171866
| nerpderp82 wrote:
| As far as I know, Henry Baker is still with us. I had a dream
| where I interviewed Wirth for like 20 hrs so we could clone him
| with an LLM. We need to grab as much video interviews from
| folks as possible.
| kragen wrote:
| henry baker has made many great contributions, but last time
| i talked to him, he was waiting for somebody to start paying
| him again in order to do any more research
|
| but i'm sure he'd agree his achievements are not in the same
| league as wirth's
| nerpderp82 wrote:
| I wasn't trying to compare them in any other way other
| than, that Henry Baker is still with us.
| kragen wrote:
| cool, sorry if i came across as confrontational
| rollcat wrote:
| > 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 wrote:
| who are today's new great minimalists?
| rollcat wrote:
| 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 ;)
| kragen wrote:
| i... really don't think kris de decker is on niklaus
| wirth's level. i don't think he can write so much as
| fizzbuzz
|
| fabrice bellard is wirth-level, it's true. not sure about
| tedu and jcs. it's absurd to compare most of the others
| to wirth and hoare. you're comparing kindergarten finger
| paintings to da vinci
| amatecha wrote:
| uxn ftw <3
| tahnyall wrote:
| It's OK on Hacker News to dis a reputable news source now?
| msie wrote:
| R.I.P.
| pengaru wrote:
| RIP
|
| https://en.wikipedia.org/wiki/Niklaus_Wirth
| formerly_proven wrote:
| end;
| boznz wrote:
| end.
| nobleach wrote:
| I owe a debt of gratitude to him and the Pascal programming
| language. Sincerest condolences to those he left behind.
| bitwize wrote:
| Time for a black bar on the front page. Wirth had been around
| since forever, influencing how we and generations before us
| program.
| AlbertCory wrote:
| I'm happy to say I got to meet him, thanks to Charles Simonyi.
| May his memory be a blessing.
| pjmlp wrote:
| I was at the session he did at CERN back in 2004, but sadly
| never managed to talk to him.
| khazhoux wrote:
| 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.
| pjmlp wrote:
| 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 wrote:
| 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 wrote:
| 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...
| auselen wrote:
| It was a RAD platform though. From following your links:
|
| > Low-code development platforms trace their roots back
| to fourth-generation programming language and the rapid
| application development tools of the 1990s and early
| 2000s.
|
| > Delphi was originally developed by Borland as a rapid
| application development tool for Windows as the successor
| of Turbo Pascal.
| pjmlp wrote:
| It still is, and got a new release last month.
| auselen wrote:
| I wouldn't know, I was like a Borland fan...
| sedatk wrote:
| AFAIK, even Photoshop was originally written in Pascal.
| zengid wrote:
| It was, according to Sean Parent (Adobe employee) in an
| interview about Pascal (around 8:03):
| https://adspthepodcast.com/2023/12/29/Episode-162.html
| TremendousJudge wrote:
| 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 wrote:
| 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.
| TremendousJudge wrote:
| 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.
| pjmlp wrote:
| 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.
| kloch wrote:
| 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.
| boznz wrote:
| Love motivated me to learn Pascal, Money motivated me to
| learn C.
| skrebbel wrote:
| I still wonder what the tech world would've been like today if
| Wirth had had the marketing sense to call Modula "Pascal 2"
| sedatk wrote:
| ...also if he hadn't insisted on uppercase keywords.
| de6u99er wrote:
| Pascal was the second language after Basic. I was always
| interested in learning Modula, but picked up Delphi instead.
| neilv wrote:
| I don't see obituaries yet. In the meantime:
| https://en.wikipedia.org/wiki/Niklaus_Wirth
| gjvc wrote:
| now would be a good time read this in his memory
| https://cr.yp.to/bib/1995/wirth.pdf
|
| 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"
| https://www.youtube.com/watch?v=EXY78gPMvl0
|
| One of the greats.
| kleiba wrote:
| @HN: Black banner, please?
| adamnemecek wrote:
| If there was ever a reason for one, this is it.
| wiz21c wrote:
| Double on this.
| bcantrill wrote:
| Perhaps perversely (or maybe just a reflection of my own
| middle age?), but the HN black bar is one of my favorite
| aspects of HN. Death rites are essential, but their
| significance is often lost on the young who (naturally)
| pervade tech; what HN has developed in the black bar is
| really perfect.
|
| Anyway: I trust we're just seeing natural human latency here,
| but this clearly merits the HN black bar. RIP, Nik Wirth --
| truly one of the giants, and someone whose work had a
| tremendous personal influence for so many of us!
| Copenjin wrote:
| YES.
| erikpukinskis wrote:
| Not trying to be crude, but is someone passing away after a
| long, rich life of 89 years something to mourn? Isn't that kind
| of the best case scenario?
|
| For me something like a black banner signifies a tragedy, not
| merely a death. A bunch of children being shot, a war, a
| disease ravaging a country, etc.
|
| I'm curious to learn others' perspectives however.
| froh wrote:
| for computer science, Nikolaus Wirth was not simply "someone"
|
| and a black ribon signifies a great loss, not a tragedy.
| vidarh wrote:
| We can mark it without particularly mourning it. HN often
| puts up black banners specifically for people who meant
| something to the HN community. E.g:
|
| https://bear.willmeyers.net/whos-received-a-black-bar/
| bcantrill wrote:
| You know, I had a comment earlier about the importance of
| death rites being broadly lost on the young (and without
| meaning to sound pejorative, I have to believe that you are
| relatively young). I had thought to myself that I was perhaps
| being unfair -- surely even a child understands the
| importance of a funeral? -- but your comment shows that I
| wasn't wrong.
|
| So as it apparently does need to be said: we're humans -- we
| mourn our dead. That is, the black bar denotes death, not
| tragedy; when we mourn those like Wirth who lived a full
| life, we can at once take solace in the fullness of a life
| lived and mourn that life is finite. The death rite allows us
| to reflect on the finiteness of our own lives, and the impact
| that Wirth had us, and the impact that we have on others. You
| are presumably too young to have felt this personal impact,
| but I assure you that many are brought back to their own
| earliest exposure to computing -- for many of us, was Pascal.
|
| Again, RIP Nik Wirth; thank you for giving so many of us so
| much.
| fasterik wrote:
| A lot of tragedies happen in the world, but you're not going
| to see a black bar on HN for every one of them. It's not so
| much about the magnitude of the loss, but the contribution
| that person made to the history of computing.
| Jtsummers wrote:
| While very out of fashion these days, a black armband used to
| be a signal of mourning someone's death, whether the death
| was a "tragedy" (likely meaning unexpected, particularly
| violent, particularly early, or something similar) or not.
| The black bar is a digital imitation of that.
|
| Niklaus Wirth contributed quite a bit to our field, and,
| directly or indirectly, impacted many of the people who
| frequent this (programming technology oriented) site.
|
| https://en.wikipedia.org/wiki/Black_armband
| masklinn wrote:
| > Not trying to be crude, but is someone passing away after a
| long, rich life of 89 years something to mourn? Isn't that
| kind of the best case scenario?
|
| It can be "kind of a best case scenario" and yet you still
| mourn the loss. Mourning doesn't require a tragedy.
|
| My grandmother died in her sleep at 94, pretty healthy all
| things considered (still had a good head, could putter along,
| and was in her own home of more than 60 years), after having
| had a great day. Pretty much the best death she and we could
| have hoped for. I still wouldn't have minded having her
| nearby for a few more years.
| madmountaingoat wrote:
| I think mourning is more than just tragedy. It's recognition
| of loss. And the tradition of black things around death has
| seemed more a sign or respect than as indication of some
| tragic underpinnings. But I actually don't know the history
| of the tradition, so I am happy to be corrected.
| nvrmnd wrote:
| Some people say that it doesn't matter if someone dies at age
| 89 -- after they have lived a full life and contributed all
| they had to give -- it's still just as sad and shocking.
|
| Personally, I don't agree, to me it's just not as sad or
| shocking. People don't live forever and Wirth's life was as
| successful and complete as possible. It's not a "black day"
| where society truly lost someone before they fulfilled their
| potential.
| eatonphil wrote:
| I loved the book Compiler Construction. Wirth's emphasis on
| minimalism is a huge inspiration.
| munificent wrote:
| I haven't read that one yet, but "Algorithms + Data Structures
| = Programs" is just an absolutely beautiful gem of a book. It
| embodies his principles of simplicity and clarity. Even though
| it's outdated in many places, I adored reading it.
| eatonphil wrote:
| That's the other one I keep hearing about, must read it.
| ufo wrote:
| Speaking of which, that book is one of the very few sources I
| could find that talks about recursive descent error recovery
| and goes further than panic mode.
| int_19h wrote:
| There's also an interesting book "A model implementation of
| standard Pascal" - not by Wirth - that implements an ISO
| Standard Pascal compiler in Standard Pascal, written as a
| "literate program" with copious descriptions of every single
| aspect. Basically, the entire book is one large program in
| which non-code is interspersed as very long multiline comments.
|
| I couldn't find it available for download anywhere, but
| Internet Archive has a version of it in the library that can be
| checked out for free:
| https://archive.org/details/modelimplementat0000wels/page/n9...
| tasty_freeze wrote:
| 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."
| wiz21c wrote:
| Best CS pun ever. Thanks for sharing !!!
| the_arun wrote:
| Looks like he had a good sense of humor too.
| blast wrote:
| 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 wrote:
| 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!
| phooda wrote:
| He was the go to guy for witty comments.
| fsckboy wrote:
| Dijkstra would consider that one harmful. In America we
| consider Wirth the to go guy for witty takeaways.
| vram22 wrote:
| I saw it stated as pronounced as Veert, somewhere, maybe in his
| Wikipedia or Wikiquote pages.
| nwellnhof wrote:
| It's pronounced with an I like in "wit".
| rabbits77 wrote:
| 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 wrote:
| "worth" alone still means "value" though
| pjmlp wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| he very well might, dave. i miss talking to you
| frognumber wrote:
| 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.
| lordgroff wrote:
| One of the titans of the era, Pascal greatly contributed to my
| love of programming and my eventual career. Rest in peace Dr.
| Wirth.
| lukego wrote:
| 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.
| kragen wrote:
| i hope you are! we miss you
| cscheid wrote:
| > 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.
| frognumber wrote:
| Supported cooperative multitasking won in the end.
|
| It just renamed itself to asynchronous programing. That's
| quite literally what an 'await' is.
| kragen wrote:
| 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
| nottorp wrote:
| And these fancy new names aren't there just for hiding
| the event loop? :)
| kragen wrote:
| if the implied contrast is with cooperative multitasking,
| it's exactly the opposite: they're there to _expose_ the
| event loop in a way you can 't ignore. if the implied
| contrast is with setTimeout(() => { ... }, 0) then yes,
| pretty much, although the difference is fairly small--
| implicit variable capture by the closure does most of the
| same hiding that await does
| nottorp wrote:
| Not asking about old JavaScript vs new JavaScript. Asking
| about explicit event loop vs hidden event loop with fancy
| names like timeout, async, await...
| kragen wrote:
| do you mean the kind of explicit loop where you write
| for (;;) { int r = GetMessage(&msg, NULL, 0,
| 0); if (!r) break; if (r == -1)
| croak(); TranslateMessage(&msg);
| DispatchMessage(&msg); }
|
| or, in yeso, for (;;) {
| yw_wait(w, 0); for (yw_event *ev; (ev =
| yw_get_event(w));) handle_event(ev);
| redraw(w); }
|
| async/await doesn't always hide the event loop in that
| sense; python asyncio, for example, has a lot of ways to
| invoke the event loop or parts of it explicitly, which is
| often necessary for integration with software not written
| with asyncio in mind. i used to maintain an asyncio
| cubesat csp protocol stack where we had to do this
|
| to some extent, though, this vitiates the concurrency
| guarantees you can otherwise get out of async/await.
| software maintainability comes from knowing that certain
| things are impossible, and pure async/await can make
| concurrency guarantees which disappear when a non-async
| function can invoke the event loop in this way. so i
| would argue that it goes further than just _hiding_ the
| event loop. it 's like saying that garbage collection is
| about hiding memory addresses: sort of true, but false in
| an important sense
| nottorp wrote:
| What worries me is we may have a whole generation who
| doesn't know about the code you posted above and thinks
| it's magic or worse, real multiprocessing.
| frognumber wrote:
| Sort of and sort of not.
|
| The key thing about 2023-era asynchronous versus 1995-era
| cooperative multitasking is code readability and
| conciseness.
|
| Under the hood, I'm expressing the same thing, but
| Windows 3.1 code was not fun to write. Python /
| JavaScript, once you wrap your head around it, is. The
| new semantics are very readable, and rapidly improving
| too. The old ones were impossible to make readable.
|
| You could argue that it's just syntactic sugar, but it's
| bloody important syntactic sugar.
| mkl wrote:
| It has mostly won for individual programs, but very much
| not for larger things like operating systems and web
| browsers.
| epcoa wrote:
| Mostly won for CRUD apps (yes and a few others). Your
| DAW, your photo editor, your NLE, your chatbot
| girlfriend, your game, your CAD, etc might actually want
| to use more than one core effectively per task. Even go
| had to grow up eventually.
| frognumber wrote:
| It's moving in more and more.
|
| A core problem is that it's now clear most apps have
| hundreds or thousands of little tasks going, increasingly
| bound by network, IO, and similar. Async gives nice
| semantics for implementing cooperative multitasking,
| without introducing nearly as many thread coherency
| issues as preemptive.
|
| I can do things atomically. Yay! Code literally
| cooperates better. I don't have the messy semantics of a
| Windows 3.1 event loop. I suspect it will take over more
| and more into all walks of code.
|
| Other models are better for either:
|
| - Highly parallel compute-bound code (where
| SIMD/MIMD/CUDA-style models are king)
|
| - Highly independent code, such as separate apps, where
| there are no issues around cooperation. Here, putting
| each task on a core, and then preemptive, obviously wins.
|
| What's interesting is all three are widely used on my
| system. My tongue-in-cheek comment about cooperative
| multitasking winning was only a little bit wrong. It
| didn't quite win in the sense of taking over other
| models, but it's in widespread use now. If code needs to
| cooperate, async sure beats semaphores, mutexes, and all
| that jazz.
| pjmlp wrote:
| Indeed, however the experience with crashes and security
| exploits, has proven that scaling processes, or even
| distributing them across several machines, scales much
| better than threads.
| smartscience wrote:
| I always knew my experience with RISC OS wouldn't go to
| waste!
| vram22 wrote:
| >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.
| kragen wrote:
| not exactly; see
| https://en.wikipedia.org/wiki/Cooperative_multitasking
| vram22 wrote:
| Thanks, will check that.
| jerf wrote:
| 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.
| superluserdo wrote:
| >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 wrote:
| Hmm, but what if the compiler doesn't use the optimized
| constructs, e.g. floating point optimizations targeting
| numerical algorithms?
| kragen wrote:
| probably use a fortran compiler for that instead of
| oberon
| bunderbunder wrote:
| Life was different in the '80s. Oberon targeted the
| NS32000, which didn't have a floating point unit. Let
| alone most the other modern niceties that could lead to a
| large difference between CPU features used by the
| compiler itself, and CPU features used by other programs
| written using the compiler.
|
| That said, even if the exact heuristic Wirth used is no
| longer tenable, there's still a lot of wisdom in the
| pragmatic way of thinking that inspired it.
| thesz wrote:
| 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.
| WJW wrote:
| Perhaps Wirth would say that compilers are _close enough_
| to user programs to be a decent enough representation in
| most cases. And of course he was sensible enough to also
| recognize that there are special cases, like matrix
| operations, where it might be wirthwhile.
|
| EDIT: typo in the last word but I'm leaving it in for
| obvious reasons.
| steveklabnik wrote:
| 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.
| gjvc wrote:
| > ... 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 wrote:
| 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.
| vram22 wrote:
| 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.
| tibbydudeza wrote:
| A giant of the programming language field. My first programming
| language was Pascal (Borland) before I got introduced to C.
| Sunspark wrote:
| RIP GOAT.
| switchbak wrote:
| The passing of a titan like he was deserves a little more
| respect than simply saying: "RIP GOAT".
| hooverd wrote:
| Rest in peace, greatest of all time.
| bregma wrote:
| So it goes.
| omoikane wrote:
| Niklaus Wirth was also responsible for changing the title of
| Dijkstra's paper to "Goto Statement Considered Harmful".
|
| https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6
| tommsy64 wrote:
| 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 wrote:
| And it continues to this day!
| abc_lisper wrote:
| 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.
| baus wrote:
| 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.
| parshua wrote:
| 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 wrote:
| 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.
| blast wrote:
| Wirth must have adopted the quote (how could he not), but it
| actually goes back to a clever line by someone introducing him
| at a conference.
|
| https://news.ycombinator.com/item?id=38858993
| dvaun wrote:
| What conference was it? Edit: Nvm, saw your other comment[0].
|
| [0]: https://news.ycombinator.com/item?id=38858993
| Qem wrote:
| RIP Mr. Wirth. The first programming language I ever learnt was
| Pascal, that brings me fond memories. A big loss for the computer
| science community.
| kragen wrote:
| minor quibble: dr. wirth had a doctorate from berkeley
| squarefoot wrote:
| 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.
| vidarh wrote:
| 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.
| blackhaz wrote:
| 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.
| nerpderp82 wrote:
| Damn.
| throw_m239339 wrote:
| RIP, a great loss for computer science.
|
| Some people here are recommending greats books he wrote,
| definitely worth reading.
| HumblyTossed wrote:
| A great loss. I cherish my copy of "Algorithms + Data Structures
| = Programs". I re-read it every couple of years.
| bhaak wrote:
| 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.
| sterlind wrote:
| which languages? I've just restored an Amiga 500 with Workbench
| 2.1 and I'd love to honor his memory.
| mkesper wrote:
| Modula2 was available and got used on Amiga. Silly teenager
| me found such high level languages "cheating" at the time.
| bhaak wrote:
| 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 source 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
| googamooga wrote:
| 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.
| madamelic wrote:
| Am I understanding correctly that he was the sole maintainer of
| Algol at the age of 86 years old? Or was it more supervisory /
| BDFL?
| kragen wrote:
| algol isn't a piece of software, so it doesn't have
| maintainers. i don't know if the algol committee ever
| officially disbanded but wirth had already resigned before
| algol 68 came out
| madamelic wrote:
| Oh sorry, I misremembered the list and meant Oberon but fair
| point. I had just noticed that the last stable release was in
| 2020.
|
| If I had read more closely to the wording, the language was
| _designed_ by Wirth but that doesn't necessiate him being
| fingers-to-keyboard (or whatever modality) despite it saying
| he was the developer.
| kragen wrote:
| oh, i guess you could say he was bdflish
| submeta wrote:
| 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.
|
| RIP Niklaus Wirth.
| froh wrote:
| 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.
|
| his preference for clarity over notational fancyness inspired so
| many of us.
|
| 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.
| WesolyKubeczek wrote:
| May he and his work be forever remembered.
| throw7 wrote:
| RIP. After Basic (on a commodore), I learned Pascal (turbo
| pascal) in high school of all places.
| anticensor wrote:
| 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.
| Decabytes wrote:
| 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
| raphlinus wrote:
| 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.
|
| [1]: https://mastodon.online/@raph/111693863925852135
| de6u99er wrote:
| Great story. Thanks for sharing.
| markus_zhang wrote:
| Oh God, no!
|
| I need to read his compiler book once I completed my toy
| interpreter.
| olvy0 wrote:
| 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 wrote:
| > 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.
| forinti wrote:
| 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.
|
| 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.
|
| He was hugely important for generations of coders.
|
| RIP.
| fiddlerwoaroof wrote:
| I learned to program in Delphi and, to this day, I haven't ever
| found a tool for building GUIs as pleasant. So, I'm fond of
| Wirth-inspired languages.
| saiya-jin wrote:
| ... and you never will, since OSes don't provide anything like
| that out of box and to make design ecosystem work like that, a
| major effort for fat clients would be needed. In a time when
| dev tools are mostly free (apart from intellij idea but this
| approach has its own drawbacks) and focused on other
| technologies / platforms.
| elvis70 wrote:
| 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.
| emmelaich wrote:
| I liked his witticism "You can call me by name (Veert) or call me
| by value (Worth)."
|
| But I can't find a reliable attribution.
|
| [edit - see other comment, apparently said by Adriaan van
| Wijngaarden not Wirth]
| ChuckMcM wrote:
| 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.
| _ph_ wrote:
| 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.
| facorreia wrote:
| Rest in peace. I owe a lot to his work.
|
| "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).
| lispm wrote:
| He is a true legend.
| revskill wrote:
| Pascal and Delphi is great example of Simplicity that works.
| mkovach wrote:
| Now I have an excuse to write my next project in Pascal. :)
|
| Bwahah! Bwahah!
| notorandit wrote:
| So long, and thanks for all of the data structures and
| algorithms!
| wormius wrote:
| 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.
|
| Fond memories; I feel like the 90s kids were the last ones to
| really get to appreciate Pascal in a "native" (supportive,
| institutional) setting.
|
| 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?)
| groos wrote:
| Wirth taught me how to write recursive descent parsers and design
| languages suited to them. RIP.
| zengid wrote:
| ADSP podcast (named after Wirth's book) just had an episode on
| the history of Pascal
| https://adspthepodcast.com/2023/12/29/Episode-162.html
| mise_en_place wrote:
| He was one of the most influential personalities in our field,
| most modern programming languages descend from and contain many
| of his ideas.
| FounderBurr wrote:
| What a bunch of wankers, all looking for an excuse to lament
| their own greatness at length.
___________________________________________________________________
(page generated 2024-01-03 23:00 UTC)