2 ポイント 投稿者 GN⁺ 2024-01-04 | 2件のコメント | WhatsAppで共有

2件のコメント

 
bus710 2024-01-06

ケント・ベックもニクラウス・ヴィルト教授についての回顧を残していますね。
https://tidyfirst.substack.com/p/niklaus-wirth-1934-2024

ジョー・アームストロング教授もニクラウス・ヴィルト教授から影響を受けたというのですから、本当にすごい人物だったようです。

 
GN⁺ 2024-01-04
Hacker Newsの意見
  • 言語設計への貢献だけでなく、Niklaus Wirthは屈指のしゃれの一つも残した
    姓は本来「Virt」に近く発音されるが、アメリカではみんな「Worth」と呼んでいたため、「ヨーロッパでは名前で呼ばれ、アメリカでは値で呼ばれる」と冗談を言っていた

    • この冗談は、1960年代のある学会で Adriaan van Wijngaarden がWirthを紹介した際に言ったことに由来する
      そのときの聴衆の反応映像があればぜひ見てみたい
      https://en.wikiquote.org/wiki/Niklaus_Wirth
      https://lists.racket-lang.org/users/archive/2014-July/063519...
    • この冗談は実は名前まで一緒に書かないと本当に成立しない
      「by value」が、名前と姓を合わせた Nickles Worth のように聞こえる発音になるという意味だからだ
    • 彼は機知に富んだ発言をする人として知られていた
  • 数多くの業績に加えて、Wirthは Joe Armstrong にとって英雄であり、Armstrong流の単純さに大きな影響を与えた
    Joeは、Wirthが「重なり合うウィンドウはタイル式ウィンドウより優れているかもしれないが、実装の複雑さというコストを正当化するほどには優れていない」と言ったことをよく引用していた
    ETHで開かれた80歳の誕生日シンポジウムで、任意のFPGA開発ボードとUSB周辺機器の上で動く自作CPUにOberonを新たに移植して見せたのも印象的で、いつかそんな80歳になりたい

    • 「そこまで良いわけではない」という姿勢で、Wirthは伝説的だった
      コンパイラ最適化に対する立場も似ていて、最適化パスは コンパイラ自身のコンパイル時間 を改善するときにだけ追加すべきだと考えていた
      Oberonも意図的に 協調的マルチタスキング のみをサポートしていた
    • ETHの80歳誕生日シンポジウムで、Oberonを自作CPUとFPGAボード上に移植して見せた発表は素晴らしかった
      https://www.youtube.com/watch?v=EXY78gPMvl0
    • 彼の娘によれば、80歳を大きく過ぎても家でずっと 何かを作って実験 していたという
    • 「Wirthwhile ambition」とでも言うべき目標だ
      最初は「worthwhile」と書いたが、しゃれが画面から飛び出してくるほどだった
      Wirthの言語だけでなく、アルゴリズム + データ構造 = プログラム や段階的詳細化のような仕事も好きだ
      Pascalは多くの人と同じく私の初期の言語の一つで、今でもDelphiやFree Pascalの形で好きだ
      RIP, guruji
      guruではなくgurujiに直したのは、ヒンディー語でjiが敬称の接尾辞だからで、もちろんguru自体もすでに敬意を含む言葉だ
  • 私は彼の昔の学生だ
    彼は、キーボードを叩いて何でも動かしてしまう十代だった私を、コーディングする前に考える 熟練プログラマ に変えてくれた一人だった
    大学で会う前から、Amiga界隈にはWirth系言語を使うプログラマが多く、私もOberonでプログラミングしていたので、彼がとても惜しまれる

    • 私も彼の学生で、その後は別の研究所の大学院生として私的に何度か会った
      学部生は皆彼を畏敬していたが、彼は学部の講義を特別楽しんでいるようには見えなかった
      ただし他の教授と違って、その責任をTAに丸投げしようとはせず、大学院生とは良い関係を築いているようだった
      コンパイラ構成の授業ではもっと熱が入っているように見えたが、学生たちがすでに少し経験を積んでおり、当時Oberonの設計を繰り返し改良している最中だったからだと思う
      口頭試験でPascalの dangling ELSE 問題を解いてみろと言われ、私は言語文法を精緻化して曖昧さを解消すると答えた
      彼は、おそらく動きはするが複雑すぎると言い、どこでそんな考えを得たのかと尋ねたので、結局彼の教科書と競合関係に近い “Dragon Book” で見たと白状した
      後になって、彼が求めていた答えはModula-2やOberonのように言語を変えて明示的なENDを要求することだったのだと気づいた
      私的な場では話していて楽しい人で、コンピュータ関連の逸話も非常に豊富だった
      公の場ではやや独断的に見えたが、私的な場では「異端」にもずっと寛容だった
      あるときPerlの話になった際、良いことは言わないだろうと思っていたのに、意外にも パターンマッチング/テキスト処理言語 には有効なニッチがあると見ており、その系譜の前身としてSNOBOLに言及した
    • どんな言語だったのか気になる
      Workbench 2.1が入った Amiga 500 をちょうど復元したところで、彼の記憶をしのびたい
    • Amigaは Modula-2 ユーザーがかなり多かったプラットフォームの一つで、PC以上にそうだった
      PC側はTurbo Pascalに慣らされていたからだ
  • begin
    本当に悲しい知らせだ
    Twitterより良い情報源があるのか気になる
    修正: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
    Wirthは単純さ、正確さ、人間が理解できるソフトウェアにおける、残っていた最後の偉大な使徒であり、今やHoareとMooreだけが残り、MooreもGreenArraysの実権を若い世代に譲ったように見える
    若い人たちは、彼の仕事が学問的にだけでなく実務的にもどんな意味を持っていたのか知らないかもしれないので、いくつか書き残しておく
    今日私たちが知る統合開発環境はTurbo Pascalで生まれ、初期のMacintoshソフトウェアの大半はPascalで書かれており、MacPaintもその一例だ
    Goの元の設計者3人のうち1人であるRobert GriesemerはWirthの学生で、Oberon拡張で博士号を取得しており、Wirthの言語群はNewsqueakの設計にも非常に明確な影響を与えている
    TeXもPascalで書かれている
    end;
    end.

    • 単純で、正確で、美しいソフトウェアは今でも作られており、Wirthが最後だったわけではない
      ただ、その大半は注目されず、人目を引く複雑で壊れやすい巨大ソフトウェアの雑音の中に、静かな歌が埋もれているだけだ
      その歌は消えたことがなく、周波数を合わせればいいだけだ
    • まだもっと良い情報源はないようだが、Eiffel言語の創始者であるBertrand Meyer本人のアカウントではある
    • Scalaの創始者でありWirthの学生でもあるMartin Oderskyも、事実として受け止めているようだ
      https://twitter.com/odersky/status/1742618391553171866
    • 1994年に初めて読んだ、Wirthの学生Michael Franzの博士論文が今でもとても好きだ
      彼は現在UC Irvineの教授で、後にTraceMonkeyとなった追跡木に関するAndreas Galの論文も指導した
    • 単純さ、正確さ、人間が理解できるソフトウェアの使徒という括りで言えば、Alan Kayもまだ私たちのそばにいる
  • Niklaus Wirthは、Dijkstraの論文の題名をGoto Statement Considered Harmfulに変えた人物でもある
    https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6

    • Dijkstra自身がEWD1308でこの件について触れている箇所がある
      1968年、Communications of the ACMは彼の文章を“The goto statement considered harmful”という題で掲載し、その後その文章は残念ながら題名しか見ていない著者たちにしばしば引用され、彼の名声の礎であり、“X considered harmful”という題名形式の原型にもなった
      もともと彼は“A case against the goto statement”という題で論文を投稿したが、出版を早めるために編集者がこれを「編集者への手紙」に変更し、その際に自分の判断で新しい題名を付けた。その編集者がNiklaus Wirthだった
      [1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1...
      PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
  • Wirth教授は子どものころの私に大きな刺激を与えてくれた人だ
    当時はPascalに関する彼の本がどれほど優雅で単純かを十分には理解していなかったが、熱心に読み、Oberon言語とLilithワークステーションの開発も興味深く追っていた
    13歳のとき、彼が遠くない場所、おそらくJohns Hopkinsだったと思うが、そこで講演を行い、父が連れて行ってくれた
    本当に素晴らしい体験で、リンク先の写真[1]からも分かるように、彼はとても親切で励ましを惜しまない人だった
    [1]: https://mastodon.online/@raph/111693863925852135

  • 悲しい日だ。
    彼はコンピューティング界の巨人であり、実際に受けた以上の注目を受けるに値した。
    彼の言語がソフトウェア開発でより広く使われていたなら、多くのことはもっと良くなっていただろう。
    C64/128でBasicを少しいじったあと、私が最初に学んだ「本物の」プログラミング言語は Pascal だった。
    学校のApple IIにあったUCSD Pascalと、IBM PCのTurbo Pascal 3.0で学んだ。そのPCはまだATのような高級機ですらなく、内蔵の琥珀色CRTが付いたポータブルPCだった。
    Amiga 500を買ったとき、Amigaでは Modula-2 が非常に人気で、M2Amigaシステムは実際に最も堅牢な開発環境だった。
    Modula-2は構造的で堅牢なプログラムを作りやすくし、モジュールという概念は時代を先取りしていた。
    Cの世界がその後も長いあいだヘッダーファイルを再コンパイルし続けていたのとは対照的だ。
    今日のGoはModula-2から多くを受け継いでおり、だから私はGoにすぐ惹かれた。
    Robert GriesemerがWirthの学生だったのも偶然ではない。
    90年代になってもMS-DOSが使われていたあいだ、PCではTurbo Pascalがみんなの主力言語だった。
    強力でありながら、専業のソフトウェア開発者でない人にも手が届き、Modula-2の拡張も多く取り入れ、オブジェクトシステムも優れていた。
    バージョン6と7で頂点に達し、純粋な文字ベースUIの圧倒的な速さゆえに、今でも私のお気に入りの開発環境かもしれない。
    Turbo Pascalは、優れた開発環境と、力強さと単純さのあいだで見事な折衷を実現した言語を結び付けていた。
    残念ながら、彼の後期の仕事であるOberonについてはぼんやりとしか知らない。
    386でOberonシステムをネイティブ起動して少し触ってみたが、PCがDOS時代だった当時におけるその効率性と完全なGUIは驚異的だった。
    もっと注目を集めなかったのが惜しい。
    80年代末に遅すぎないうちに勢いを得ていれば大きく成功していたかもしれないが、90年代初頭にはWindowsが登場した。
    純粋主義的な観点では、彼が真の フルスタック開発者 という肩書を得たときが頂点だった。
    Oberonと言語やOSを設計しただけでなく、それを動かすCPUまで設計したからだ。
    非常に印象的で、教育的価値も大きかった。
    END.

  • WirthはEuler、PL360、ALGOL W、Pascal、Modula、Modula-2、Oberon、Oberon-2、Oberon-07の主任設計者だった。
    Lilithワークステーション向けのMedos-2、Ceresワークステーション向けのOberonオペレーティングシステム、Lolaデジタルハードウェア設計・シミュレーションシステムの設計と実装にも中核的に関わった。
    1984年には、これらの言語の開発によりACM Turing Awardを受賞した。

    • WirthにModulaを Pascal 2 と呼ぶだけのマーケティング感覚があったら、今日の技術世界がどう変わっていたのかと今でも思う。
    • Lola はかなり好きだ。
      Pascal/Oberonの影響を受けた学びやすいハードウェア記述言語で、Cに着想を得たVerilogやAdaに着想を得たVHDLとは対照的だ。
      Wirthのソフトウェアスタック全体も気に入っている。
      Lolaで実装されたRISC-5はRISC-Vと混同してはいけないもので、その上にOberon言語とOberon環境がある。
      記憶が正しければ、LolaはVerilogを生成できたし、学生がFPGAボードから出発して自分のCPU、コンパイラ、OSを作れるようにするという発想だったはずだ。
      彼の気の利いた言葉も好きだ。
      「私はプログラマーである教授であり、教授であるプログラマーだ」といった趣旨のことを言っていたと思う。
      そういうプログラマー兼教授がもっと必要であり、システム系の人たちにとって明らかなインスピレーションだ。
    • Appleと Object Pascal の初期設計でも協業し、彼の学生たちはComponent Pascal、Active Oberon、Zonnonなど、Oberonから派生したさまざまな研究プロジェクトを進めた。
    • 大学の最初の2学期のプログラミングでPascalとMODULA-2を学んだ。
      MODULA-2はその後まもなく姿を消したが、Pascalはいまでも入門プログラミングの授業で使われている。
      プログラミングとの最初の出会いがこれらの言語だったことをとてもうれしく思うし、Wirthは私の心の中でとても特別な位置を占めている。
      彼の設計は本当に時代を先取りしていた。
    • Basicの次に学んだ2番目の言語がPascalだった。
      Modulaもずっと学びたいと思っていたが、その代わりにDelphiを身につけた。
  • 最初の会社を Delphi ベースで立ち上げ、DelphiはTurbo Pascalを基盤にしていた。
    Wirthは大きなインスピレーションであり、彼の死は決して小さな損失ではない。
    彼の仕事がこれからも何世代もの新しいプログラマーにインスピレーションを与え続けることを願う。
    彼の言葉の一つはこうだ。「ヨーロッパ人はたいてい私の名前を正しく『Ni-klows Wirt』と発音するが、アメリカ人は例外なく『Nick-les Worth』にしてしまう。つまりヨーロッパ人は私を名前で呼び、アメリカ人は価値で呼ぶのだ」

    • その通り。
      リアルタイムシステム監視用言語に モジュール性 を持ち込むことをテーマに学士論文を書き、とりわけMODULA-2をはじめとする彼の仕事から大きな刺激を受けた。
    • Wirthがその引用を受け入れたのは確かかもしれないが、実際にはある会議で彼を紹介していた誰かの気の利いた一言が始まりだった。
      https://news.ycombinator.com/item?id=38858993
  • コンピューティングの歴史にとって悲しい日であり、多くの人にシステムプログラミングへのより良いアプローチを示した 偉大な言語設計者 を失った。

    • 悲しいことではあるが、彼は多くの人が夢見るような長く充実した人生を送った。
      その人生に乾杯したいし、どこかの コーディング・ヴァルハラ にいてくれることを願う。
    • 私はそこまで悲しくはない。
      死は人生の一部だ。
      人生がアルツハイマーや認知症、あるいは単に動きが遅くなって衰弱していく形で崩れていくとき、あるいは早すぎる終わり方をしたとき、または無駄にされたときのほうがずっと悲しい。
      彼はもうすぐ90歳になる年齢で、長く、影響力があり、充実した人生を送った。
      そういう人生は称えられるべきだ。