はじめに
著者はシリコンバレーのスタートアップの父と呼ばれ、本書は著者のエッセイ集であり、非常に高く評価されています。
本の最初の4分の1は「オタク(ガリ勉)」について書かれています。私はこの部分を4回以上読みましたが、それは内容が気に入ったからではありません。
読み進めることができなかったからです。毎回、オタクの部分が終わる直前で諦めてしまい、どうしてもその先を読む意欲が湧きませんでした。次に本を手に取るときには、また最初からオタクの部分を読み直す羽目になります。それでも再び本を手に取ったのは、全編がこのオタクの部分と同じくらい退屈だとは信じられなかったからです。
注:本書における「ハッカー」は、コンピュータ技術の愛好家と理解してください。褒め言葉でも蔑称でもなく、ある種の人々を指す言葉として使われています。
1. ハッカー = 画家
もしハッカーが職業だとしたら、それは画家が筆を手に取り、赴くままに創作するような職業に違いありません。
画家はいつでも頭の中にキャンバスを広げ、ふとした閃きをスケッチし、静かで素晴らしい時間を見つけては、筆を握りしめ、心の中の世界を紙の上に描き出すことに全神経を集中させます。
ハッカーもそうあるべきです。「技術職(技術の従事者)」!= 「技術愛好家」ですが、技術職の人も最初はみんな愛好家でした。しかし、いつの間にか心の中の世界を忘れ、純粋な技術職になり、いつでも筆を手に取って画家になれることを忘れてしまうのは、とても悲しいことです。
従事者は受動的ですが、愛好家は興味に突き動かされています。よく考えてみると、自分も純粋な技術職に近づきつつあるようです。当初の興味はいつの間にか姿を消し、受動的にタスクをこなし、次々と現れる要求を実現し、終わりのないバグを修正する日々…。空いた時間に筆を手に取って心の中の世界を描こうとも思わなくなりました。まるで街角の絵描きのように、目の前の客に似顔絵を提供するだけで、自分が丹精込めて描いた心の中の広大な世界を忘れてしまったかのようです。
2. 本当にそうなのだろうか?
-
ある人は「Xという技術は業界のベストプラクティスであり、強力なコミュニティのサポートと幅広い採用例があるから、Xを選べば間違いない」と言います。
-
ある人は「jQueryは遅い。素のJavaScript(Vanilla JS)の方が速い。レスポンス速度を上げてユーザー体験を向上させることが最も重要だ。今すぐjQueryを捨てよう」と言います。
-
ある人は「Zeptoは遅く、効率が悪い。モバイル開発では割に合わない」と言います。
本当にそうなのでしょうか?
選択をする前に、自問自答してみてください。私たちは、聞こえの良いものを選んだり、「いかにも正しそう」な意見を受け入れたりする理由を、常にたくさん持っているようです。そこで一歩立ち止まって問いかけることで、ようやく真実が見えてくるのかもしれません。
『クリティカル・シンキング(原題:Asking the Right Questions)』という本では、まさにこの点が強調されています。一見正しそうに見える誤った命題に対して、問いを投げかけずに同意してしまうと、次に同様の問題に直面したときに、その誤った命題を公理として扱ってしまい、その結果として誤った選択をしてしまうことになります。
jQueryを学びましたが、使うのは好きではありませんでした。jQueryは素のJavaScriptより遅いと聞いていたからです。これに対して面接官はこう答えました。「実は、jQueryは君が思っているほど遅くはないんだよ。」
3. より優れた言語を喜んで受け入れる
技術者なら多かれ少なかれ、特定の技術への執着(いわゆる「プログラマーの蔑視の連鎖」など)があるものです。長く使ってきた筆をなかなか捨てられない。「なぜ変えないのか?」と聞かれれば、「使いやすいから」と答える。「具体的にどこが?」と聞かれれば、「いや、とにかく使いやすいんだ、全部がね」と。
本の後半部分は、概ね「Lispは最高だ、Javaより100倍優れている」ということを強調しています。もちろん、これは少し揶揄した言い方ですが、著者がLispを画期的な言語であり、設計思想が100年先を行っている(1958年にMITのジョン・マッカーシーによってラムダ計算に基づいて作成された)と考えているのは事実です。それが本当かどうかは分かりませんが、著者が私の興味をかき立てたのは確かです。少なくとも、Lispの先駆的で強力な部分を体感してみる価値はあると思いませんか?
著者は、全員に使い慣れた言語を捨ててLispを使えと言っているのではなく、「私たちはより優れた言語を喜んで受け入れるべきだ」という視点を示したかったのです。
書評
うーん、オタク(ガリ勉)の部分を除けば、全体的に良かったです。

コメントはまだありません