スキップしてメイン コンテンツに移動

言語再考

言語設計者たちが考えること (THEORY/IN/PRACTICE)『言語設計者たちの考えること』を読んだ。本書は、下記プログラミング言語の設計者へのインタビュー集。括弧 () 内がインタビュイーとなった設計者。
  1. C++(ビャーネ・ストラウストラップ)
  2. Python(グイド・ヴァンロッサム)
  3. APL(アディン・D・フォークオフ)
  4. Forth(チャールズ・H・ムーア)
  5. BASIC(トーマス・E・カーツ)
  6. AWK(アルフレッド・エイホ、ピーター・ワインバーガー、ブライアン・カーニハン)
  7. Lua(ルイス・エンリケ・デ・フィゲイレード、ロベルト・イエルサリムスキー)
  8. Haskell(サイモン・ペイトン・ジョーンズ、ポール・ヒューダック、フィリップ・ワドラー、ジョン・ヒューズ)
  9. ML(ロビン・ミルナー)
  10. SQL(ドン・チェンバレン)
  11. Objective-C(ブラッド・コックス、トム・ラブ)
  12. Java(ジェームズ・ゴスリン)
  13. C#(アンダース・ヘルスバーグ)
  14. UML(イヴァー・ヤコブソン、ジェームズ・ランボー、グラディ・ブーチ)
  15. Perl(ラリー・ウォール)
  16. PostScript(チャールズ・ゲシキ、ジョン・ワーノック)
  17. Eiffel(バートランド・メイヤー)
  18. Ruby(まつもとゆきひろ)
多少なりとも馴染みがあったり、関心があったりした章を拾い読みした。読んだのは、18章のうち、14章。具体的には、C++, Python, BASIC, AWK, Haskell, ML, SQL, Objective-C, Java, C#, UML, Perl, Eiffel, Ruby。

多くの言語設計者たちが、機能を増やさないことに腐心していたことがよく分かる。それが如実に表れているのが、「2章 Python」。関連して、「6章 AWK」でブライアンは、
小さな言語が抱えている最大の問題は、それがどんどん成長していくという点にあります。
と言っている。これは、『人月の神話』「第5章 セカンドシステム症候群」が指摘している問題にも似ている。

やり過ぎたと設計者の一人が言っているのが、「第14章 UML」。UMLは詳細が膨大な割に、そこまで書いても実装に落とせない。だから、UMLからコード生成なんて酷いアイディアだと言っている。でも、一方でもう一人の設計者は「2種類の言語を使う根本的な必要性はありません」なんて言っている。自分の感覚では前者が正しいと思う。『UMLモデリングのエッセンス』で、Martin Fowlerが言っているように、コードやアイディアが先にあった上で、コミュニケーションのためのスケッチに使うのが、コストパフォーマンスが高い。

UMLに限らず、プログラムに関わるものはすぐにプログラムになろうとする傾向にあると思う。「13章 C#」で「12章 Java」のゴスリンのこんな言葉が引かれている。
Goslingは、すべての構成ファイルはそれ自身がプログラミング言語になっていってしまうと言っていたと思います。それは非常に正しい、そのことには本当に気をつけた方がいいでしょう。
この傾向はなんなんだろう? 「17章 Eiffel」が実装する〈契約による設計〉はおろかユニットテストも書けないものを、実装としてしまうのに、大きな危険を感じるのだけれど。

このブログの人気の投稿

北へ - ゴールデンカムイ 16

『ゴールデンカムイ 15』、『〃 16』を読んだ。16巻を読み始めてから、15巻を買ったものの読んでいなかったことに気がつく。Kindle版の予約注文ではままあること。 15巻は「スチェンカ・ナ・スチェンク」、「バーニャ(ロシア式蒸し風呂)」と男臭いことこのうえなし。軽くWebで調べてみたところ、スチェンカ・ナ・スチェンク (Стенка на стенку) はロシアの祭事マースレニツァで行われる行事のようだ[1]。それなりになじみ深いものらしく、この行事をタイトルに据えたフォークメタルStenka Na StenkuのMVが見つかった。 16巻では杉元一行は巡業中のサーカスに参加することになる。杉元と鯉登の維持の張り合いが、見ていて微笑ましい。鯉登は目的を見失っているようだが、杉元もスチェンカで我を失っていたので、どっこいどっこいか。なお、サーカス/大道芸を通じた日露のつながりは、実際にもこのような形だったようだ[2]。 個々のエピソードから視線を上げて、全体の構図を眺めてみると、各勢力がすっかり入り乱れている。アシㇼパは尾形、キロランケ、白石とともにアチャの足跡を辿り、そのあとを鶴見のもとで家永の治療を受けた杉元が鯉登、月島を追っている。今更だけれど、杉元やアシㇼパは、第七師団と完全に利害が衝突していると考えていないはずだった。一方で、土方一味も入墨人皮を継続。むしろ彼らの方が第七師団との対立が深刻だろう。さらに北上するキロランケはまた別の目的で動いているようだけれど、なんで尾形も一緒なんだっけ? 『進撃の巨人』に引き続き、これもそろそろ読み返す時期か。 [1] 5つの暴力的な伝統:スラヴ戦士のようにマースレニツァを祝おう - ロシア・ビヨンド [2] ボリショイサーカスの源流は、ロシアに渡った幕末日本の大道芸人たちにあった 脈々と息づく「クールジャパン」 | ハフポスト

Memory Free - 楽園追放 2.0 楽園残響 -Goodspeed You-

『楽園追放 2.0 楽園残響 -Goodspeed You-』を読んだ。映画 『楽園追放 -Expelled from Paradise-』 の後日譚にあたる。 前日譚にあたる『楽園追放 mission.0』も読んでおいた方がいい。結末に言及されているので、こちらを先に読んでしまって後悔している。ちなみに、帯には「すべての外伝の総決算」という惹句が踊っているけれど、本作の他の外伝はこれだけ [1] 。 舞台は本編と同じでディーヴァと地球だけれど、遥か遠く外宇宙に飛び立ってしまったフロンティアセッターも〈複製体〉という形で登場する。フロンティアセッター好きなのでたまらない。もし、フロンティアセッターが登場していなかったら、本作を読まなかったんじゃないだろうか [2] 。 フロンティアセッターのだけでなくアンジェラの複製体も登場するのだけれど、物語を牽引するのはそのどちらでもない。3人の学生ユーリ、ライカ、ヒルヴァーだ。彼らの視点で描かれる、普通の (メモリ割り当てが限られている) ディーヴァ市民の不自由さは、本編をよく補完してくれている [3] 。また、この不自由さはアンジェラの上昇志向にもつながっていて、キャラクタの掘り下げにも一役買っていると思う。アンジェラについては前日譚である『mission.0』の方が詳しいだろうけれど。 この3人の学生と、フロンティアセッターとの会話を読んでいると、フロンティアセッターがフロンティアセッターしていて思わず笑みがこぼれてしまう。そうして、エンディングに辿りついたとき、その笑みが顔全体に広がるのを抑えるのに難儀した。 おめでとう、フロンティアセッター。 最後に蛇足。関連ツイートを 『楽園残響 -Goodspeed You-』読書中の自分のツイート - Togetterまとめ にまとめた。 [1] 『楽園追放 rewired サイバーパンクSF傑作選』は『楽園追放』と直接の関係はない。映画の脚本担当・虚淵玄さんが影響を受けたSF作品を集めた短編集。 [2] フロンティアセッターは登場しないと思って『mission.0』を読んでいない。 [3] 本編では、保安局高官の理不尽さを通して不自由さこそ描かれてはいたものの、日常的な不自由は描かれていなかったように思う。アンジェラも凍結される前は豊富なメ

報復前進

『完全なる報復 (原題: Law Abiding Citizen)』 を観た。 本作では、家族を押し入り強盗に殺された男クライドが、その優れた知能と技術でもって犯人に報復する。 ここまでで半分も来ていない。本番はここから。 クライドの報復はまだまだ続く。 一見不可能な状態からでも確実に報復を続けるクライドが、冷静なのか暴走しているのか分からず、 緊張感をもって観ていられた。 欲を言えば、結末にもう一捻りあると嬉しかった。 ちょっとあっさりし過ぎだと感じてしまった。