1. readline.fm
  2. EP222 我ら、プログラマー PART3
EP222 我ら、プログラマー PART3
2026-08-31 44:35

EP222 我ら、プログラマー PART3

spotify apple_podcasts

## とりあげた本


Robert C.Martin『我ら、プログラマー』2026 ZEN大学出版


## mixi2


https://mixi.social/communities/513e0bc9-582b-4962-a9c1-c5c076175e08/about


## ShowNote

https://gennei.notion.site/EP222-PART3-3cbc645d49118004ab37ca6a8257ea07

感想

まだ感想はありません。最初の1件を書きましょう!

00:07
スピーカー 2
まあでも、5章いきますか。 いきますか。
ジョン・バッカスさんですね。 ジョン・バッカスさんって聞いて、全然最初ピンとこなかったです。名前だけ聞いたら。
わかる。途中から、おお、ジョン・バッカスってなって。 そうそうそう。
あれ、なんかこの人の功績いっぱい知ってるぞ。見えないなことになってて。はい、びっくりしましたね。
スピーカー 1
何をした人でしょうね。ウィキペディア見ると、言語で言うとフォートランの設計と開発になるのか。
ちょっとね、それの前に出てくるスピードコーリングの話がめっちゃ好きなんですけど。
あとアルゴル58にも関わってたり、関数型プログラミングに関してもすごい影響を与えている。ふんわりしてるから中身入りますか。
スピーカー 2
そうですね。まあ一番この人の功績としてあれですかね、公文解析とかその辺の話が一番あれですかね、目玉というか。
スピーカー 1
そうですね。この人もこの人で、プログラミングって大変だよねみたいなことがあって、もっと楽してーぜって言って取り組んでた感じかな。
スピーカー 2
そうですね、そうですね。
スピーカー 1
で、スピードコーリングっていうのを、名前の言語のはずなんですけど言語を作り始めるんですよね。
スピーカー 2
まあ多分今の感覚とはちょっと違うけどあれですかね、真空管で動いてたりとか、この辺の時代だとあれですね、まだプログラムがハードウェアと一体化されている状態みたいな感じですかね。
スピーカー 1
そうですね、多分。
スピーカー 2
だりするので、どういう時代やねんみたいな感じがありますけど、ちょっとピンとこねえって感じがするけど、ある程度そういう機械の制約を受けてたりとかするっていうのもあったりしますね。
スピーカー 1
これ本当にピンとこないのが、IBM701っていう、IBMの最初の大量生産型大型コンピューターを使ってる元頭で、ジョン・パッカス働いてて、さっき言ったような真空管とかプログラム内蔵方式とか、
分かんないですけど、1024ビットのウィリアムス管を72本使用していた。ワードサイズは36ビットでありって言われても、ねえって。
スピーカー 2
ねえって、見たことないしなーって思いながら。
スピーカー 1
で、これ701は、不動小数点がないんですよね。だが、701は固定小数点しか持っていなかった。小数点の位置の管理はプログラマーの仕事だった。
701にはコンパイラーは存在せず、原始的なアセンブラーしかなかった。
03:00
スピーカー 1
従って、パッカスはシンプルなローダープログラムが読み取れるように、数値命令に対応したカードをパンチしなければならなかった。
っていうところに対して、スピードコーディングを作ったと。スピードコーディングは310ワードのメモリを消費するっていうのは、ちょっとよくわからなかったんですけど、
不動小数点インタープリーターだったとか、数学演算と制御演算の2つの命令を持つことができて、
制御演算は主にジャンプや条件付きジャンプだったが、インデックスレジスターのインクリメントやデクリメントも可能だった。
インデックスレジスターだって書いてあって。数値のリストを順番に処理するためにプログラマーが命令を書き換える必要がなかった。
インデックスレジスターで制御される間接アドレッシングが実現されていた数値のリストを順番に処理するためにプログラマーが命令を書き換える必要がなかったのだって書いてあって。
ピンとはきづらいんですけど、明らかにプログラマーの仕事、コーディングする人の仕事の水準を明らかに何何回も高めてそうな感じがありますよね。
だって小数点の位置を動かさなくてよくなるんですよ、手動で。
スピーカー 2
だいぶ楽になりますよね。
たぶん現代の我々的にはメモリの管理から解放されるみたいな、そういうパラダイムシフトみたいな感じがあったんだろうなって勝手に読みながら思ってましたね。
スピーカー 1
そうですね。
気をつけて何かをしないと、何か誤った時に壊れてしまうところが、そのミスが出にくくなるような状態にしてくれてるんだろうなっていうふうに、なんとなくそう思って読んでましたね。
スピーカー 1
すごいよな。ただスピードコーリングで書かれたアプリケーションは普通に書かれたものより結構遅かったみたいな話はありつつ、プログラミングの時間は数週間から数時間へと劇的に短縮されたとも書いてあって。
スピーカー 2
ちょっと実行時間が遅くても、数週間が数時間のレベルになったらトライアンドエラーが全然違うでしょっていうことを考えると、全然ペイしそうって感じがしますね。
そうはいかないことも多かったっていうのも書いてあって、コンピューターの使用量がめちゃくちゃ高いっていう制約があるっていうのも書いてありますね、その後に。
スピーカー 1
そうですね。
その辺が一人一台コンピューターあるわけじゃないもんなっていうのが今の感覚とかけ離れすぎていて忘れちゃうんだよな。
スピーカー 1
今一人業務でプログラミングするマシンっていう意味で言うと一人一台だとしても、なんかCIにテストは任せるかみたいな感じで。
06:02
スピーカー 1
で、リグレッションテストはあっちに任せようって言ってプッシュするっていう意味で言うと、でCIは何並列かで動かしてるでしょって。
スピーカー 2
そうそう。
何台コンピューター使ってんだっていう。
スピーカー 2
しかも手元もね、どっかのイメージを使って一台に複数台走ってる、動かしてるような状態に見せるとかもやってるわけで。
タイムシェアシングとか考えると一つのマシンで計算だけではなくていろんなことができる状態になってて、もう全然違いますね、時代が。
スピーカー 1
いやーすごいですよね。SFでしかないですよね。
スピーカー 2
そうね。
スピーカー 1
いや、下手したら車が空飛んでるよりびっくりされると思いますけどこれ。
スピーカー 2
確かにな。
確かにな。
スピーカー 1
なんとなく飛びそうな気はするもんな、車は。
スピーカー 2
こんだけできてるのに車空飛んでねえのかよって逆に思っちゃうかもしれないね。
まあどこでも電話が繋がるとか、このちっちゃい板で映像がこんな滑らかに流れるとか、信じられないよな。
スピーカー 1
いやーでも車は空飛ばないし、人間は傘さして外歩いてる、日傘さして外歩いてるんですよって。
スピーカー 2
あれだな、ヒカルのことが出てきそうなセリフだな。
スピーカー 1
で、グレースオッパーのコンパイラに繋がるような自動プログラミングって彼女が呼んでたアイディアに、なんていうんだろうな、全面的にその発表に賛同してたわけではないけど、
結構感動を受けてる、自分も同じようなものをやるぞみたいな、全体的なコンセプトには賛同するよなって言ったって書いてあるか。
スピーカー 2
なので、もうちょっとパンチカーソーとかっていうレベルから、もうちょっと表現力が、言語で表現ができてとか、プログラム自体が自動で生成されるような、そういう仕組みを考えていこうっていう方向に行ったわけですよね。
結局コンパイラみたいなもののアイディアは考えられるかもしれないけども、じゃあそのコンパイラにどういう風な入力を与えればそのコンパイラが解釈できて、結果アウトプットがちゃんと出てくるのかっていうところをいっぱい考えないといけないっていうところが大変っていうところですね。
今までは0101で穴が開いてるか開いてないかとかで表現をしてたけど、そこをもうちょっと考えるっていうところですね。
スピーカー 1
スピードコーディングの経験からプログラミングの調子を僅かに引き上げるだけで、プログラマの生産性が劇的に向上することを知ったのであるっていうのも書いてあって、これをやるぞっていうスイッチが入っている感じが。
09:01
スピーカー 2
フォートランの文法というか、みたいなものがあるって感じですかね、その結果。
スピーカー 1
フォートランの意味というか、名前の由来もここで初めて知ったんですけど、フォーミュラトランスレーションのFORとトランスレーションの四文字とって出てくる、すごいですよね。
ちょっとここ鳥肌取ったら、そういう名前だったのかみたいな。コボルもそうですけど、すごい。
スピーカー 2
そういう、てか、同時にそこで切るんかみたいなことを思ったりしましたけど。
スピーカー 1
すごい変な略語ですよね。
でも、大学の研究室でフォートラン書いてる人いたなって、今そういえば思い出して、フォートランは意外とその後、結構やっぱり数値計算系のところでは、もちろん言語自体の進化もこの後ずっとされていくんで、
スピーカー 2
フォートランぺけぺけってなんか数字が後ろにくっついていくやつがあったりするんですけど、その後も結構使われてるっていうのはあったんで、
でもやっぱそれは多分最初が結構良かったんだろうな、数字が良かったんだろうなっていうふうに思ったりもしましたね。
スピーカー 2
フォートランで、ある種文法みたいなものが出来上がって、それをコンバイラーが変換して実行するっていうところにやってくるわけですね。
スピーカー 1
そう、だからここで公文解析とかが出てくるんですよね。公文解析はここまではなかった。
スピーカー 2
なかったかどうかはわかんないけど、でも今の我々が知っている公文解析機、よくプログラミング言語で出てくるもののベースは多分ここのジョン・バッカスが作ったものが元になっているって感じですよね。
スピーカー 1
そうですよね。
スピーカー 2
そのバッカスが言語を記述する形式体系を作って、最適的に結びつけられた生成規則からなる記号的メタ言語みたいなところを作っていって、
バッカス標準記法という名前がつけられて、BNFっていうのが略称でよく言われたりしますけど、
そういうようなところにつながっていく、そういう仕事につながっていくっていうのがあるっていう感じですね。
それ以降BNFは言語公文を記述する標準表記となり、YACCなどの公文解析機の入力に使われる形式となったってなってて、
この辺とかは多分今でも、公文解析機の話をしたらYACCの話は絶対出てくるみたいな感じですね。
12:06
そうですね。バッカスは人間が読みやすいというか、高水準の言語っていうのをちゃんとやっていきたい、どうにかするぞっていうモチベーションがあって、
スピーカー 1
そうすると変換っていう工程が出てくるんで、そこで公文解析っていうのが出てくるけど、
翻訳するための記法とか規則っていうのがしっかり使いやすいものがないと、クソみたいな言語が乱発、蘇生乱造されまくって、
人類の進化が遅れるだろうみたいな思想でBNFを定義したって感じですかね。
スピーカー 2
そうですね。
スピーカー 1
面白いな。
スピーカー 2
なんで?
スピーカー 1
まともと後のアルゴル60を作ってた委員会にバッカが参加してて、その仕様が英語で書かれていて、すごいですね。
バッカスはこのことに苛立ちを覚え、危険なまでにあいまいで一貫性のない寄せ集めと述べた。
彼は大勢の人たちが何年もかけて、同等の機械語プログラムを確実に生成できない翻訳プログラムをいくつも開発することになるだろうと危惧した。
そこでバッカスは言語を記述する形式体系を考案したって書いてあって、すごい恨みというか、怒りに近い感情からBNFって生まれたんだなって思う。
すごい感動がありますよね。
彼がもうちょいだから人間の能力を信じてたらBNFは生まれなかった気がする。
スピーカー 2
別なところで生まれたかもしれないけども、生まれてくるまでの時間がもっと遅かったかもしれないっていうのは全然ありえそうだなって感じがしますね。
こういう話は面白いなと思うのは、こういう話って何ていうか、この自然言語で書くところ、主要は英語で書かれて一貫性のない寄せ集めみたいな、
つまり曖昧さがすごく残るようなもの、自然言語で書いたものっていうのに一貫を覚えるみたいなところで、
一方で数学者とか言語学だったりとかの人たちは、形式言語みたいな、もうちょっと厳密さのためにいろんなことを考えて、形式言語みたいなものを考えたりとかしていった中で、
そういうようなアイディアをもしかしたら、もちろん見ていたのかもしれないけども、そういうところからプログラミングの方にやってくるっていうよりは、
プログラマーが困ってるから、じゃあこれを解決するための形式言語を作って、これはこういうルールに則って変換することができるんだみたいな状態を作り、
15:08
スピーカー 2
っていう風にやっているのが何ていうか、おもろいなっていう、なんかもっと別なところが来るかなと思ったら、直線的に困ってるところが一番問題を解決しやすいんだなってことをちょっと思ったりとかしましたね。
スピーカー 1
なんかやっぱりそうですよね、抽象と詳細を翻訳する仕事がやっぱりプログラマーなのだなみたいな感じがずっとしてきますね。
パターン論議、パターンは建築ですけど、でもそうじゃないですか、利用者と専門家が共通の言語で喋れるように言語を作りましょう。
でいくつかのパターンを定義して、それはレゴブロックみたいに組み合わせで使えばいいよねって言われてきた図なんで、あれも欲しいっていう要求理想の世界とどういう風に実装するかっていうのを翻訳するためのフィルターみたいな感じで機能すると思うんで。
スピーカー 1
出てくるわけじゃないですか、パターン論、オブジェクト思考のための、再利用のための、パターンのための、ランゲージのためのやつが出てくるわけじゃないですか。
いや、永遠に同じことやってますよね。
スピーカー 2
いや、そうなんすよね、そうなんですよ、そうなんですよ、それほんとそうなんですよ。
スピーカー 1
ない。
スピーカー 2
いや、ちょっとめっちゃ喋ってるから先進みますか。
スピーカー 1
先進みましょう、いややっぱ面白いですよ、その天才が、歴史に名を残す天才の最高傑作が生まれる瞬間みたいなところをずっとつまみ食いできる本なんで、すげえ面白いですよね。
スピーカー 2
そうなんですよ。
スピーカー 1
どうしようかな、ダイクストラの話を飛ばすか。
スピーカー 2
飛ばしたくないけど、まあダイクストラ偉大です。
スピーカー 1
ダイクストラの話、3分だけしますかじゃあ。
スピーカー 2
じゃあ3分だけすると、いや自分がまず思ったのは、ダイクストラは高速化プログラミングやって、セマ法の発明をしましたっていう話があって、ダイクストラ法みたいなのがあって、やっぱこの人もなんかいろんなもの発明しすぎてるなって思ったんですよね。
スピーカー 1
アルゴリズムの鬼ですからね。
スピーカー 2
そうそうそう。なので、なんでこんなにいろんな発明ができるんだろうな、やっぱ天才って違うんだなっていうのを、まざまざと見せつけられるっていう章だったなっていうふうに感じました。
スピーカー 1
いやー、鼻につくタイプの天才だよな。あれは20分で作ったんだよみたいなことを言うから。
あとはそうですね、数学じゃなくて科学にしようみたいな話をしてたっていうふうに書かれてて、そこはすごい面白かったな。
18:15
スピーカー 2
やっぱなんか志があるというか、ある気骨があるというか。あとはもしかしたらバックグラウンドとしては科学に対する引用みたいなところが出てきた時代でもあったのかなっていう気はしますね。
なんとなくソ連が宇宙に行くんやみたいな話があったりとかして、だんだん科学の進歩ってことは人類の進歩なんだみたいなところ、みたいな時代背景ももしかしたらあるのかなーみたいなことをちょろっとだけ読みながらちょっと連想したっていう、全然何の裏取りもないですけど、っていうのをちょっと思ったりしましたね。
スピーカー 1
なんか義芸から工学へみたいな文脈で科学って使ってるかなーっていう気を僕は知っていて、ソフトウェア機器ぐらいの人ですよね60年代。
そうですねそうですね。 だから、ダイクストラの本を読むと人間の知能の限界みたいなことを言ってるので、もうちょい証明ちゃんとできる、人間でも証明できるぐらいデフォルメというかモデル化、著称化しないと、
二つのプログラムが同じ動きするってわかるわけねーじゃん人間なんかにみたいなことを言って、そこからGoToみたいなスパゲッティコードがさーみたいな話をしてる人なので。
で、あれかな、6の5に書いてあるのが、彼の主張はソフトウェア開発は技術から科学にならなければならないだったっていうのが書いてあって、
えーとですね、彼はこれまでのプログラムはほぼ不可能な仕事を与えられ、能力を最大限以上に酷使された機械を使ってきたと説明している。そのような状況下ではプログラマーシステムを動かすために奇妙でトリッキーな方法を使用せざるを得ない。
っていうふうに書いてあって、科学ってあれじゃないですか、インプットが同じなら誰でも使えて、アートブットが揃うみたいな。再現性があるし、分解してタスクの分配が可能であるみたいな、誰でもできるようにするみたいな文脈で、このポッドキャストだと科学っておなじみじゃないですか。
スピーカー 1
そうですね、そうですね。 あの科学のこと言ってるのかなーっていう気が。民主化みたいな言い方でもいいかもしれないですけど、っていう読み方したかな。
21:03
スピーカー 2
今のは結構自分の思いつきなので。じゃあ3分過ぎたんで次進めましょう。
スピーカー 1
そうすると2人投票してるのは10章までいっちゃうか。 ニゴールとラール、ジョンケメニ、ジュリサーレンが吹っ飛ばされる。
吹っ飛ばされる。 個人的には7章8章めちゃくちゃ厚かったんで、もう一回読もうと思ってます。
ベーシックな話もな、みんな素早くオートが返ってきてみんなが使えるとか、数秒以内に結果を確認できたとかいう話とか、すごいタイムシェアリングのとこいいな、熱いなと思って読めたんですけどね。
スピーカー 1
単純に文法がシンプルというか分かりやすくてフレンドリーみたいな感じの入門者向け言語としてしか思ってなかったんで、実はそれだけじゃないというか、それはもう表面的な特徴の一つとさえ言えるかもぐらいの気持ちになったんで、やっぱりベーシック勉強した方がいいですね。
スピーカー 2
そうですね、今から、今からって思うけど、でもそれぐらいゲームチェンジャーだったんだなっていうのが感じられるような話がいっぱい書かれてましたね。
スピーカー 1
プログラミングソフトウェア誌みたいなもので、ベーシックっていうのがなんでこの並びで出てくるんだって思ったんですけど、読んでみるととても納得ということで、じゃあ10章いきますか。
スピーカー 2
10章いきますか。
スピーカー 1
10章やばくないですか、これなんか世界史何章目だよみたいな天才の集まり方がしてる。
スピーカー 2
そうなんですけど、なんかこれ一人一人取り上げても面白いはずなのに、セットっちゃセットなんだけどみたいな気持ちになりながら、ケントンプソン、デニスリッチ、ブライアンカーニハン、もうなんていうかC言語ユニックスっていう感じがしてするメンツですねって感じですね。
スピーカー 1
そうですね。
スピーカー 2
名前を見たら、ベル研究所、C言語ユニックスっていうことがもうすぐ頭の中に浮かぶぐらいには、なんかよく見る名前って感じですね。
スピーカー 1
この人たちが就職するところ、3人とも新卒ですか?
スピーカー 2
新卒だったっけ、なんか一人は別に就職するつもりがないけど、ベル研まで。
スピーカー 1
すごい人生舐めてるやついたよな一人。
スピーカー 2
そう、ケントンプソンがね確か、別に働きたくないんだよなとかって言って、でもなんか飛行機の送迎とかなんかいろいろやってくれるから、最後しかも東海岸にいる高校時代の友人たちに会いたかったので、そのベル研に来ないっていう申出を受け入れたって。
24:18
スピーカー 2
ただし就職するつもりがないと明確に伝えたっていうふうに書いてあって、すごい舐めてるんですよね。
スピーカー 1
すごい舐めてますよね。夢がありますよね、なんかソフトウェア開発業の従事者の地位が高まってきてるんだなっていうのも感じるな。
スピーカー 2
でも当人としてはね、コンピューターがたくさん使える大学でいっぱい触ってて、そこで作ったもの、作ったもの、研究したものが評価されて、大学院の出願とかも自分じゃなくて指導教員が代わりにやったって。
スピーカー 1
舐めてますよね、マジで。
スピーカー 2
俺、そんなこと言ってないんだろうけど、俺天才だからとりあえずコンピューターの前にいさせてくれみたいな、そんな感じを感じたんだよな、すごい。
スピーカー 1
なるほどね、それだったらそうだな。
スピーカー 2
まあそうだったらいいんだけど、しかも夜中とかシャットダウンするけど、鍵をもらって朝の8時までずっと使えてたんで、ラッキーとかって。目標とかないですけど楽しんでずっとやってますみたいな、そんな感じだったりするんですよね。
スピーカー 1
そうだよな、ベル研究所行ったのも、当院の推薦ですよね、そうそう、博士号を取得後、彼が知らないうちに、当主人がベル研究所の面接を提案したとなくとも、アイドルのオーディションみたいなことやってますよ。
スピーカー 2
家族が申し込んだですよ、みたいな勢いで。
スピーカー 1
すごい、当主人からの推薦ということで、ベル研究所は何度も面接を設定しようとしたが、彼は一度も姿を現さなかった。
スピーカー 2
それで終わりやろみたいな、落ちるやろみたいな。
最終的には採用担当者が彼の自宅を訪れることにした。ケンは相手を招き入れ、ジンジャースナップクッキーとビールを振る舞った。
スピーカー 1
ちょっと喋り合えてるようになってくれるっていう。
スピーカー 2
でもどっちが採用担当なんだ。
スピーカー 1
たぶんビールを振る舞うのは果たしていいのだろうかっていう。
スピーカー 2
すごく真面目じゃないっていうことが伝わってくるなって感じがしますね。
スピーカー 1
いやーすごいよなぁ。ギークっぽいというかハッカーですよね。
スピーカー 2
昔のイメージのギークとかハッカーとかいう感じがすごいしますね。
スピーカー 1
で、この3人がマルチックスプロジェクトに入るんですね。
スピーカー 2
そうですね、そうですね。
マルチックスプロジェクトっていうのが多重化された情報計算サービスって日本語訳が当たってるんだけど、
27:15
スピーカー 2
結局第二世代のタイムシェアリングシステムって書いてあるんで、いろんな人たちが同時に実行できるOSとかいうものを作っているって感じですかね。
一つのマシンをみんなで同時に使えるものを作っていたって感じですね。
スピーカー 1
結局このプロジェクトはあれですよね、ちょっと時代が早すぎた感がありますよね多分。
スピーカー 2
うんうん、そうそうそう。あんまりマルチックスがなかったって感じだったんですよね。
スピーカー 1
ケントンプソーマルチックスは途方もないプロジェクトであり、他を凌駕するタイムシェアリングシステムだった設計が過剰で経済的に極めて非効率だったと述べている。
カーニハンはこれをセカンドシステム商工軍だと述べている。
っていう。
スピーカー 2
だからバージョン2を作った結果、あれもこれもって機能盛り込んでうまくいかないって感じですね。
人月の神話に出てきたやつですね。
スピーカー 1
そうですね。
で、そっか。でベル研究所はこのプロジェクトから撤退することを決定したと。
スピーカー 2
そうそうそう。
そうですねそうですね。
スピーカー 1
で、なんかここのプロジェクトにいたこの3人があれですよね、じゃあ次これやってみたいなことを特にベル研から言われることもなく、なんか自分で好きなところを探して入っていくみたいな仕組みだったんですよね。
スピーカー 2
そうですねそうですね。
で、いいのか悪いのかわかんないけど、リッチーとトンプソンが取り組んだのは宇宙旅行のゲームだった。
スピーカー 1
マルチックスが動く大型コンピューターがいくつか転がっていたので、それらで遊んでいたのである。
スピーカー 2
うんうんうん。いいですね、おもちゃが目の周りにいっぱいあるっていうのは。
で、これをやってる時に、なんか元々使ってたハードウェアでやると、なんかレンダリングが遅いのかな、まず表示がカクカクしていたこと、そして1回のゲームに75ドルのコンピューターの使用料金がかかっていたなどが気に入らなかったって書いてあって。
スピーカー 1
なんか小型端末みたいなのが、それはそれで別に余ってたからそっち使おうぜみたいな。小型なのかな。
なんか我々からいらっしゃる手がいんだろうけど。
30:01
スピーカー 1
なんかこっちはグラが強そうだったからこっちで遊ぶことにしたみたいな話ですよね。
スピーカー 2
そうですね。
スピーカー 1
で、そこから、端末のパワーというかメモリとかに関してはちょっと非力なので、そこに合うようにちょっとちっちゃいプログラムを出力できるような、いろいろ工夫していって、云々していって、最終的にユニックスを作ると。
スピーカー 2
そうですね。この辺で結局、OSと言っていいのか分かんないけど、いろいろ性能の処理だったりとか問題とかいうところが辛いねって言って、だんだんそれを改良していくっていうようなことがやっていくと、
ディスクの読み書きしている最中に間接メールが実行されると、待機状態が出たりとか、オーバーランのエラーが発生するみたいなことがあったりとかして、
もうちょっとどうにかできるのかみたいなことを考えていった中で、ユニックスのディスクのシステムのところの部分を作っていくっていう話になっていくって感じですね。
スピーカー 1
マルチックスでやってたらいいんじゃないみたいな感じでアイディアを持ってきて、ファイルシステム作って、ディスクアクセスのスケジューリング必要なので、この辺もやっていって。
この二人超好きなんですよね。この時点で彼はあと3週間でOSが完成することに気づいたのであるっていう、なんかここがまずかっこよすぎるなと思って。
その後ですよ、なぜ3週間なのか。3つのプログラマが必要だったからだ。テキストエディター汗村シェルトカーネルである。彼はそれぞれに1週間かかると見積もった。
というより妻と幼い子がカリフォルニアの実家で3週間ほど寄生する予定だったからだって書いてあって。すごいっすよね。締め切り苦労であれこれOSにできない。3週間後ユニックスが誕生したって、なわけないでしょっていう。
スピーカー 2
それができたら苦労しないんだよみたいな気持ちになりますね。テキストエディターと汗村とシェルトカーネルをそれぞれ1週間で作れますって言って。本当に3週間後にできるってどうやったらそうなるんだ?
スピーカー 1
だってオーフォニックがだいぶコンパイラー作るのに苦労してましたもんね。
33:01
スピーカー 2
オーフォニックじゃなくてアンソロピックか。 アンソロピック。AIにこういうものを作れて命令だけあって自律的に動かしてコンパイラーを生成するっていうプロジェクトみたいなやつですよね。
そうですそうです。実体CO2の排出量も彼らの方がエコだし。 そうね、環境に優しいはずだからな。電力も今ほどは使ってなかっただろうからな。
もちろん今と比べたらサイズができることが少ないとかサイズが小さいとは思うんだけども。言うて1週間でできるかって言われたらちょっと作れる気しないですね。
作ってみるかってならないですもんね。 でもそういうなんていうか、だから作れるかも。だから実際作ってるのは1週間とか1個1週間だけど、そういうものの下地というか必要なパーツみたいなものはそれまでに頭の中に溜まってるってわけですもんね。
スピーカー 1
そんな宇宙船のゲームを動かすために頑張ってたらOSが作れるようになるっていうのはちょっと飛躍がありすぎるだろうとは思うんですけどね。 確かに。
すごいですねベルケン。ベルケンがすごいのかよくわかんなくなってきたな。 でもベルケンもうちょいしたらかなり景気悪くなってたはずなんで。ちょうどいい時代に入ってますよね。めちゃくちゃ余裕がありそう系にこの時期。
スピーカー 2
通訳でもね、王子のベルケン研究所は控えめに言ってもお金が潤沢だったって書いてあって、実際はAT&Tがめっちゃ儲かってたからだっていう話が書いてありますね。
そうなんですよね。この後どんどん景気悪くなっていって人がどんどんいなくなっていくっていう感じになってて。今からベルケンの歴史を直近を見ると噂に聞いたあれはすごかったって聞いたんだけど全然大したことないんじゃないみたいな気持ちになるぐらいに景気が悪くなってるはずですね。
でもすごいですね、やっぱり。さらにこの後にC言語を作る?
スピーカー 1
C言語めちゃくちゃな生まれ方してますよね。最初にTMGっていう言語があったって書いてあって、これは古文解析ジェネレーターかな、役風の言語だったって書いてあるんですけど、
36:09
スピーカー 1
それを作った人、TMGの言語を開発した人が研究所されるときにコードを持ち出してしまったので、ゼロから紙で繰り出してみたいな。
その後にトンプソンが出てくるんですけど、トンプソンはフォートランのないコンピューター未完成であると考えていたのでっていうすごい不思議な思想から始まり、でTMGでフォートランを実装した。
しかし生成されたコンパイラーがPDP-7のUNIXに当てられた4Kのユーザーパーティションに収まらなかった。そこで4Kに収まるように言語の一部を削りながら再コンパイルを繰り返した。
気づいたら全然フォートランっぽくないものになったんで、マルチックスの言語であるBCPLに近い。よし、じゃあこれB言語だっていう風にして。
B言語はB言語でいろいろまだ足りない部分とか、実行速度とか問題があったんで、いろいろやっていったらもはやB言語というよりかはCじゃないっていう風になった。
スピーカー 2
改良を重ねていくとだんだん違うものになっていって、気づいたら新しいものができてるみたいな、それをずっと繰り返してる感じがありますよね。UNIXしかりC言語しかり。
スピーカー 1
あんまりビジョンがないっていうと違うけど、これができなくて困ってるからこうしたいみたいな感じでやってますよね多分。本当に必要は発明の父みたいな。
スピーカー 2
うんうん、すごいですね。 もっと言うとついでに作ってますよね、UNIXにせよCにせよ。そうね。しかもこの本の結論10.8の結論のとこに書いてあるのを読んでちょっとびっくりしたのが、
これUNIXとC言語の誕生にまつわる物語が1969年から1973年までの約4年間の出来事であると書いてあって、4年でUNIXとC言語を作ったのって思って、ちょっとびっくりしましたね。
すごいですよね。なんかすごすぎてどのくらいすごいのか意味想像がつかんぐらいすごい。 樋口そう、何か比較をしたいんだけど比較するものがないからさ、そのすごさがわからない。
39:00
あとこれも好きなんですよ。1973年トンプソンとリッチはUNIXカーネルをアセンブリ言語で管理するのは無理だと判断し、UNIXをC言語に移植することにしたって書いてあって、3回ほど試みたら失敗した後も書いてあるんですけど、
スピーカー 1
なんか言語がまだいけてない部分があるよね。強化するかっていう感じの中で、ブレックスルーになったのがC言語にストラクトを追加した後って書いてあるんですけど、トンプソンはストラクトがなかったときは複雑すぎて全体像を把握できなかったと語っているって書いてあって、
この着中が不綺麗ですね。アセンブリ言語のときはどうやって全体像を把握していたのだろうかって、ちょっとツッコミに近いコメントが書いてあって、やってたってことじゃんと思って。
そこだね。
スピーカー 1
ストラクトのないCでリライトするのはちょっと難しすぎた。なぜならそれは全体像を把握するには複雑すぎるからだって言ってるけど、アセンブリ言語のときにやってましたね、あなたたちみたいな。どういう脳みその作りなんでしょうね、すごいな。
スピーカー 2
まあそれか、アセンブリ言語のときよりも規模が大きいものを書けるようになってきて、複雑化したとかなんですかね。
スピーカー 1
なるほど。
スピーカー 2
なんかできることが増えてる感じになると、多分今までできなかったことをどんどんやろうとすると、規模がでかくなっていくから、まあ難しい。
まあでも。
スピーカー 1
そうですよね。拡張で管理するのが限界だから、アセンブリをやめようっていう話だから、それはそうか。
スピーカー 2
まあ人間が認識できる最大まで規模が大きくなっていくってことなんだろうけど、言うてでもそれまで今でやってたじゃんって言われたら、まあそうだなってなるから。
スピーカー 1
まあそうだよな、我々がIDなしで開発できますかって言われると、まあできなくはないけど辛いぜみたいな気持ちになるのと同じか。
スピーカー 2
そうだしやっぱり目の前の問題はどんどん片付けていきたいなってなるだろうし。
スピーカー 1
いやだから、どの章もそうなんですけど、10章やっぱり時代が近くて、想像がある意味つきやすい面もあるかもですけど、いや信じられない話がずっと続いてますね、第10章は。
スピーカー 2
そうなんですよ、そうなんですよ。しかも発明しただけじゃなくてちゃんとこれを広めるぞって言って、K&Rとかの部分とかの話もあるし、プログラミング作法の話も出てきたりとかして、ずっと言い伝えられてるやつやみたいな気持ちになりながら読んでて。
42:12
スピーカー 1
すごいですよね、ロバートシーマーチンをしてこれも私の人生を変える本になったって言ってますね。
スピーカー 2
いやー、この本にはないんだけども、この後ケントンプソンとかはゴーゲン語っていうのを作りますね、さらに。
どうなんでしょうね、出来るんでしょうね、いや出来てるから出来上がってるんですけど、いやー怖いものもなさそうな気はするけど、当時のベルケン語ほど余裕のある会社はない気はしますけどね。
そうですね。いやーだからここから脈々と繋がってるものをいっぱいあるし、何なら人は一緒で、そのC言語をベターCにするためにゴーを作るんだみたいな話になっていったりとかして、
スピーカー 2
いやーなんかすごい歴史が本当にちゃんと繋がってるんだなって感じもするし、この偉人たちはユニックスとCっていうところは注目されてるけど、それ以外にもいっぱい発明してるわけで、すごい業績だけどこれ以外にもいっぱいあるはずだから、なんか怖いですね。
スピーカー 1
いやーすごいですね。まあでもこれで。
スピーカー 2
大義武の巨人たちを見てきたってところですね。でもこの中にはさ、まだこの中に出てない巨人もいるわけじゃん、たぶんクヌスとか、さっきちょろっと名前出たけど。
スピーカー 1
そうですね。
スピーカー 2
あと時代が近くなるとさ、もっと知ってる人たちがいるわけだし、まあそれこそこのアンクルボブだってそうだし、マーチン・ファーラーだったりとか。
スピーカー 1
いやだってリーナスのリの字も出てない。
スピーカー 2
そうだよね、そうだよね。いやーって思うと世の中すごい人たちがいっぱいですね、本当に。
スピーカー 1
いやー素晴らしいな。
スピーカー 2
いやー楽しい、楽しい、本当に。いくらでも喋れますね、たぶんこれは。
44:35

コメント

スクロール