動的型付けは思ったよりキモくないのかもしれない

Posted on Saturday, March 14th, 2015 21:07:29

ハッカーと画家

来週から、またソフトウェアの世界に浸かるので、ハッカーと画家を買いました。私の知っている限り、読んでいない優秀なプログラマーがいません。僕も優秀になりたいので読んでみることにしました。

まだ30ページも読んでいないのですが、前回の記事で「動的型付けが最高にキモい」なんて口走ってしまったのが間違いのような気がしてくる一文に出会ったので、書き留めておきます。

ちなみに、本書の第2章が下記で読めます。
Hackers and Painters

問題の一文

私たちに必要なのは、落書きしたりぼかしたり塗りつぶしたりできる言語であって、型の紅茶茶碗を膝に置いて、落とさないようバランスをとりながら、作法にうるさいコンパイラおばさんとお上品な会話をするような言語じゃない。

Just do it!!

この本によれば、ハッカーのプログラミングは、繊密な設計の上で行われるものではなく、”Just do it(とにかくやる)!!”の精神で行われるようです。設計せずに始めてしまえ!というわけではなく、とにかく書くことで設計に関する理解が増すということです。

何かのアルゴリズムを組むとして、完璧なフローチャートや UML を書いてレビューするより、いっぱい書いてベンチマーク取った方が早いんじゃね?って経験は誰にでもあると思います。これは極端な例ですが、全ての設計がプロトタイピングの連続で完結すれば、それは楽ちんですね。
※ 本書を読み始めて、まだ26ページ目ですが、恐らくこの本のテーマの1つは、Just do it と繊密な設計の両立だと思います。

当然、それは難しいわけです。しかし、プログラミング言語における動的型付けは、それを助けるための1つの方法であるわけです。「推論するから明示的に書かなくていいぜ」じゃなくて「設計次第で何にでもなるぜ」といったイメージです。それはそれで素敵なのではと。

まあ、キモいけどね

とは言えど、動的型付けがキモいという感想は変わりません。単純に大規模なソフトウェアで、スコープの広い変数が型推論だと、リスクが高いからです。ソフトウェアは拡張されるものなので、そのリスクは年々高まっていきます。テストケースも書きにくいしね。型推論させてるのに、数値かどうかチェックしていたら本末転倒でしょう。

動的型付けは、書きながら設計している場合には便利かもしれませんが、ソフトウェアの完成品として型が明示的に確定しない恐ろさがあります。型は設計思想を表現します。だからダック・タイピングなんて聞いても「何でアヒルってハッキリ設計しとかなかったの?」としか感じないわけです。

でも、思ったほどキモくないなってこと。「自動で推論してくれるから書く手間が省けるぜ」「数値が文字列になっちゃったときに定義や宣言を変更しなくて済むから楽だぜ」といった理由でしか動的型付けを見ていなかったので、少し良い発見でした。僕からは以上です。

Share

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 0 follow us in feedly

Your Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です