メインコンテンツへスキップ
見出し画像

私の人生を変えた、全プログラマーが読むべき名著「ハッカーになろう」

    ふぁるしー@ITエンジニア

    「ハッカーになろう」という文書を読んだことがあるだろうか。
    この文書は2001年に第一版が公開されて以降、現在に至るまで約20年メンテナンスされ続けている文書だ。
    このページでも要点を引用するが、無料で読めるので時間があったらぜひ全文を読んでほしい。

    私はプログラマーとして10年以上活動し、経済産業省の賞などを頂いたこともあるのだが、この活動、いや、私の人生そのものは「ハッカーになろう」に大きく影響されたといっても過言ではない。
    このページでは、具体的にどんなポイントがどう影響したのかをお伝えする。

    出会い

    私は小学2年生ごろからインターネット上の情報を頼りに独学でプログラミングを始めていた。
    そのきっかけとなったのはブラッディマンデイという漫画だ。
    ホワイトハット(正義のハッカー)である学生の主人公が、ブラックハット(悪者のクラッカー)を擁するテロ組織と戦うというストーリー展開になっている。

    正直当時は内容をあまり理解していなかったが、とりあえず主人公がカッコよく見えた。

    • PCカタカタして電子ロックを無理やり施錠/解錠することで追手から逃げる

    • リモートから防犯カメラを盗み見る

    • 遠隔で原子力発電所をメルトダウンさせる

    • etc…

    ともかく、小学2年生が憧れるには十分なかっこよさがあったのだ。

    だからこそ、読み終わった後に「ハッカー なる方法」と検索するのはある意味必然だった。
    この時から今に至るまで、私はこの文書をことあるごとに何度も読み返している。

    印象に残っているポイント

    ポイント1. ハッカーとクラッカーは違う

     ハッカーを声高に名乗る別の集団が存在しますが、彼らはハッカーではありません。これはコンピュータに侵入したり、電話のただがけしたりする人々(主に男のガキ)です。本物のハッカーはこの連中を「クラッカー(cracker)」と呼び、一切関わりを持ちたくないと思っています。(省略)

     基本的な違いとはすなわち:ハッカーはものをつくります。クラッカーは壊します。

    「ハッカーになろう」より

    これはハッカーを目指すにあたって大前提となる事項だ。
    ハッカーはものをつくり、壊さない。
    原子力発電所を攻撃してメルトダウンを起こすのは、忌むべきクラッカーの所業であり、クラッカーはハッカーではない。

    この文を初めて読んだ瞬間から、他人のパスワードを盗んだりするようなクラッカー的行為に対しては、一切のかっこよさを感じないようになってしまった。
    きっとこれを読んでいなかったら私はクソみたいなスクリプトキディに成り果てていたかもしれない。

    残念なことに、多くのジャーナリストや著述家たちはだまされて、クラッカーについて書くのに『ハッカー hacker』という言葉を使い続けています。真のハッカーたちはこれをとてつもなく不愉快に思っています。

    「ハッカーになろう」より

    この記事が書かれて20年以上経過しているが、メディアはまだ、ハッカーという言葉をクラッカーに対して使い続けているように思う。
    私としてもこれは非常に腹立たしいことだ。

    ポイント2. 問題解決に喜びを見出せ

     ハッカーであることはとてもおもしろいのですが、そのためには相当な努力が必要です。その努力をするには意欲が必要です。優秀な陸上選手は、自分の肉体的な限界を越えて体を機能させるという肉体的な喜びが意欲の源です。同様に、ハッカーになるためには自分の技術をみがき、知性を働かす訓練して、問題を解決することにゾクゾクするような喜びを感じるようでなければいけません。

     あなたが生まれつきこのように感じないなら、ハッカーになるにはまずそのような人にならなくてはいけません。さもないとハッキングへの意欲が、セックスやお金や社会的な名声のようなつまらないことに惑わされてしまうでしょうから。

    「ハッカーになろう」より

    小学生のうちにこの文章を読めたことは非常に大きいと思っている。
    特に「知性を働かす訓練」が重要だ。
    きっとこの言葉を覚えていなかったら、算数の難問に対して何時間も時間をかけるような小学生時代を過ごすことはなかっただろう。

    後半はちょっと低学年には刺激的な内容だったかもしれない。

    (自分の学習能力に対する信頼も育てましょう。たとえ今の段階では大きな問題を解決するのに必要なすべてを知らなくても、その問題のほんの一部から取りかかって、そこから新しい事を学び取れば、次の部分の解決に十分なだけ学べて、そして次へ次へと進めば、いずれ大きな問題全体が解決できると信じましょう)。

    「ハッカーになろう」より

    括弧で括って書くような内容じゃない!!!!!!!!!!!!
    もっとボールドやイタリックましましで目立たせてくれ。
    本当に。

    「自分の脳みそと時間があれば、世の中のどんな問題も解決できる」
    この自信を持つことが何よりも重要で、この自信こそがあらゆることに対する学習の効率を爆増させる秘訣だと思う。

    ポイント3. 自由は善

     ハッカーたちは本来的に反権威主義です。あなたに命令できる人は、何かあなたが興味を持っている問題を解決するのを止めさせてしまえます――しかも、権威主義的な頭の特徴として、そのやめさせる理由もあきれるくらいくだらないものであるのが普通です。だから権威主義的態度に出会ったら、必ず戦わないといけないのです。そうしないとあなたや他のハッカーたちが窒息させられてしまいます。

    「ハッカーになろう」より

    ソフトウェアを作るにあたって、権威は不要だ。
    大きな工場も、高額な設備も、多数のステークホルダーも、ソフトウェアを作るにあたっては本来必要不可欠ではないからだ。
    これらが必要不可欠だと思えたとしても、それはきっと誰かの問題解決によって覆る。
    現にLinuxの最初のバージョン(Linus's Minix)はLinusが1人で書いたではないか。

    権威が不要であるならば、権威に媚びる必要はない。
    既得権益を守ろうとする権威主義者は、ソフトウェアによるパラダイムシフトを必ず邪魔しにやってくる。
    邪魔される前に潰してしまえ。
    (少々過激になってしまいました。失礼しました)

     権威主義者は検閲と秘密が大好きです。さらに自発的な協力や情報共有を信用しません。彼らは自分たちが管理できる「協力」だけを好みます。だから、ハッカーらしく行動するためには、検閲や秘密、そして責任ある大人に無理強いするような圧力やごまかしの使用に対し、本能的に敵意を感じなくてはなりません。そしてこの信念を実行に移す用意が必要なのです。

    「ハッカーになろう」より

    理不尽な抑圧に対する反応で、ハッカーとしての適正を測れるというのが私の持論だ。
    そのまま丸め込まれてしまうのであればハッカーとしては失格だろう。
    敵意をむき出しにして下剋上を叩きつけなければ、ハッカーの素質があったとして新芽を踏み潰されて終わりだ。

    ちなみに、小学生時代、親に設定されたフィルタリングをいろんな技を駆使して回避していた。
    (もしかしてこれクラッキング?まあ抑圧に対する正当防衛ということで)

    ポイント4. 英語を身につけろ

     わたし自身がアメリカ人だし英語が母語なので、これを挙げるのはあまり気乗りがしませんでした。これを言うと文化帝国主義と思われるんじゃないかと思ったからです。しかし英語以外を母語とする数名から、英語はハッカー文化やインターネットでの作業用言語なんだということ、ハッカーコミュニティーで役に立つには英語を知らないとダメだということを指摘するように言われたのです。

    「ハッカーになろう」より

    少なくともReadingの能力は絶対に必要。
    環境によってはASCII文字しか出力できないことはザラにあるし、ニッチなライブラリのマニュアルは大体英語だけ。
    Stackoverflowの内容も大体英語。

     フィンランド人であるリーヌス・トーヴァルズは自分の書くコードのコメントを英語で書きます (どうやら英語以外で書こうなんて考えたこともないようです)。彼の流暢な英語は、Linux の開発者の世界的なコミュニティをリクルートしてくるにあたっての、とっても大事な要因でした。見習う価値のある先例といえましょう。

    「ハッカーになろう」より

    コメントも英語で書いた方がいい。
    カッコつけたいとかそういうのではなくて、最も話者が多い言語で自分の思考を記録することに意味がある。
    日本人が3時間かけて解決した問題を、アメリカ人がまた3時間かけて解決するのは不合理だ。

    私の場合は、バグを修正するためにインターネットをかけずり回っていたら、自然と英語が身についていたと思う。

    ポイント5. 母語をまともに書けるようにしろ

     母語できちんと文が書けるようになること(わたしが知っている最高の連中を含め、ハッカーの驚くほど多くは物書きとしても有能です)。
    (省略)
    だじゃれや言葉あそびへの理解を深めること。

    「ハッカーになろう」より

    母語もまともに書けないようなやつが、まともなプログラムを書けるわけがない。
    母語を正しい文法で相手に伝わる語彙を以って書くことができなければ、そいつの書くプログラムはきっと酷いものになるだろう。

    小学生時代の私は、この部分を読んでから国語の授業をちゃんと受けるようにした。
    中学で習った「かろかっくういいけれ」とかはまだ覚えてる。
    だろだっでにだななら。。。

    まとめ

    以上、「ハッカーになろう」の中で、最も印象に残っている以下の5事項を紹介した。

    • ハッカーとクラッカーは違う。クラッカーになるな

    • 問題解決に喜びを見出せ。自分の学習能力に自信を持て

    • 自由は善。理不尽な抑圧に屈するな

    • 英語の読み書きはできるようにしろ

    • 母語をまともに書けるようにしろ

    「ハッカーになろう」はハッカーになりたい人が必ず読むべき文書だ。
    それだけではなく、昔の私のような、小学生ぐらいの子供に見せてみてもいい影響があるかもしれない。


    お読み頂きありがとうございます!
    こんな感じでタメになりそうな知識や体験を発信していくので、
    ぜひフォローお願いします!

    この記事が参加している募集

     
     
     
    東京在住/23歳/INTJ プログラミング(10年以上)/個人投資家(2年以上)/旅行 体験談、創作、その他いろんなジャンルの話をストーリー形式で投稿していきます。 興味ある方はフォローいただけるとありがたいです!

    あなたへのおすすめ