本物のプログラマはPascalを使わない
『本物のプログラマはPascalを使わない』(ほんもののプログラマはパスカルをつかわない。原題: Real Programmers Don't Use Pascal)は、1982年に執筆されたプログラマに関するエッセイ。
当時テクトロニクス所属のEd Postの作で、データメーション誌(en:Datamation)にレターとして投稿され同誌の Vol. 29, No. 7 (July 1983) に掲載されて広まった他、Usenetにも投稿された。日本においてはコンピュータサイエンス誌bitの1985年4月号に邦訳掲載された[1]。
概要
原題はテンプレート:仮リンクの著作「テンプレート:仮リンク」(原題:Real Men Don't Eat Quiche)(原著1982年)のもじりである。執筆当時における、ある種の職人気質のプロのプログラマ(当時はまだ『本物』のコンピュータに触れることができたのはプロか大学関係者などに限られていた)を讃える内容となっている。FORTRANやPascalに触れた内容はさほど多くないが、「Pascal」の意味するところである構造化プログラミングなど計算機科学を見下す視点などばかりではなく、当時普及し始めたマイコンの1機種である「Trash-80」ことTRS-80やコンピュータゲームへの言及など、コンピュータの一般への普及を当時の前線にいたプログラマの視点から眺めた記録でもある。
職人気質というだけでなく、当時としても少々古いタイプのプログラマについて書かれているのであるが、「本物のプログラマの仕事について」の節で触れられている通り、例えば宇宙開発で使われるコンピュータは信頼性のために性能を犠牲にするため、その時代のものとして見ても非常に限られた計算機資源で高度な作業がおこなわれている。代表的な例としては、ボイジャー計画の探査機はメモリ容量の制限のために、計画の進行にあわせプログラムを更新するように作られているが、それを光の速さでも片道何分もかかる無線通信を通しておこなっているのである。
ジャーゴンファイルの「Real Programmer」の項( http://www.catb.org/jargon/html/R/Real-Programmer.html )は、「~Pascalを使わない」とは逆の方向性から書かれており、こんにちでは一般に、過度の職人気質も、また職人気質の全くの欠如もよくないものと考えられている(『ソフトウェア職人気質』などを参照)。
2節以下、
- 2. (プログラミング)言語
- 3. 構造化プログラミング
- 4. OS
- 5. プログラミングツール
- 6. 本物のプログラマーの仕事
- 7. 本物のプログラマーの行動
- 8. 本物のプログラマーの生態
- 9. 先行き
と節が続く。各節は本文と引用句とから構成される。いくつか例を挙げると、
- テキサスインスツルメンツ社の伝説的なプログラマがある日、長距離電話でユーザーからシステムクラッシュを告げられた。彼は、その電話口でユーザーに16進コードを指示して、メインフレームの制御フロントパネルのトグルスイッチを操作させた。曰く、「本物のプログラマは電話でブート・コードを唱え、大陸の反対側でクラッシュしたシステムを再起動させる」
- 本物のプログラマは、FORTRANで人工知能プログラムを書く
- 本物のプログラマは、戸惑うことなく5ページにもわたるDOループを書かなくてはならない
- 本物のプログラマは、そのことにより20 ナノ秒もループ実行時間が改善されるならば、自己書き換えプログラミング・コードを記述する。
- ソースデバッガ? - 「本物のプログラマはコアダンプを読むものである」
- 「プログラム全部を、本物のプログラマは印字するものである」そして、彼のオフィスの平らなところは全て年代順になるようにリストを積み上げておく。
- 「本物のプログラマは」妻の名前は覚えていなくとも、「ASCIIコードやEBCDICコードは忘れない」
これらのうちのいくつかは、こんにちでは古びてしまっているが、変わらず重要なこともいくつかある。たとえば、デバッガは使うとしても、クラッシュを再現する方法がわからなければ、唯一残されたコアダンプを使って問題を突き止めなければならない、ということは変わっていない。
なお、Pascalには、「本物のプログラマ」が相手にするような仕事には向かない面も確かにあった。そのことについては、ブライアン・カーニハンが1981年にWhy Pascal is Not My Favorite Programming Languageとしてまとめている( http://www.lysator.liu.se/c/bwk-on-pascal.html )。
派生など
似たような趣旨の文章としては、1983年に執筆されたThe Story of MelないしReal Programmers write in FORTRANがあり、ジャーゴンファイルのAppendix Aに収録されている( http://www.catb.org/jargon/html/story-of-mel.html )。
その後、1992年4月1日にMike Schenkが編纂しUUNETに投稿された、Real Programmer Stories(真のプログラマーの物語)にも「本物のプログラマはPascalを使わない」は採録されている。Real Programmer Stories には、「本物のプログラマはPascalを使わない」の続編(派生物)である、
- 「本物のコンピュータ科学者はコードを書かない」 (Real Computer Scientists Don't Write Code)
- 「本物のコンピュータ技術者はダンプを読まない」 (Real Software Engineers Don't Read Dumps)
- 「本物のプログラマは仕様書を書かない」 (Real Programmers Don't Write Specs)
なども併せて収録されている。
他にも「本物の~は」("Real ~")という言い回しは、たとえば、「本物のプログラマはHaskellを使う」など、この文章をきっかけとして計算機界隈でよく使われるようになった。
脚注
外部リンク
- 原文のコピー
- 本物のプログラマは Pascalを使わない(bit邦訳の転載)