はてなの金次郎

Pythonエンジニアの奮闘記。Python, Django, Gitlab, Docker, AWS, k8s...

「ハッカーと画家」から学んだこと。

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

概要

要約

ポール・グレアムのWebサイトpaulgraham.comに公開されているエッセイを書籍化。題名の「ハッカーと画家」とはそのエッセイの中の1つであり、それに限らず「富の創り方」、「ものつくりのセンス」などについてもまとめられています。

面白かった章とその理由

第2章 「ハッカーと画家」

筆者によるとハッカーと画家があらゆる人種の中でも最も似た人種であるらしく、画家の特性を挙げなからハッカーに対する考えを述べています。自分にとっては画家も同様に奇妙な人種なので対比表現に関してはわからないことも多かったですが、筆者のハッカーに対する考えやハッカーとしての生きる工夫は気付きや学びを多く得られた章でした。

理解できなかった章とその理由

第8章 「スパム対策」

数式が全く理解できませんでした。また深く理解するためには違う参考文献で学習する必要がありそうです。 また、

ソフトウェアから法律まで、スパムと戦うすべてのアプローチのうち、ベイジアンフィルタリングは最も効果的なものであると私は思っている。

と述べられていますが、現在では(本書でまとめられているエッセイは2001-2004年に書かれたものである)フィルタリングによるスパム対策だけではなく、SPFDKIM、DMARCなどのメール送信元のドメイン認証 による対策との併用が効果的なようです。以下参考文献です。

仕事に活かせそうな知識、活かせそうな状況と活かし方

  • 好きなことを書いて腕を上げる。昼間の仕事とは別の時間で美しいソフトウェアを書く。(多くの企業はハッカーにやりたいことをやらせてくれないから。書くのが面白いソフトウェアがビジネスになることは滅多にないから。)
  • プログラミングスキルを上げるためにOSSソースコードを読む、貢献する。
  • エンストしてしまいそうな時のために楽にこなせる作業を残しておく。
  • ユーザ視点で(何も知らない人が使うという前提で)ソフトウェアを書く。
  • パワフルな言語を使うために、Lispに限らず異なる言語を勉強する。興味があるのはGolang

プログラミング言語の分類

10章「プログラミング言語入門」でのコンパイラ言語とインタプリタ言語、静的型付けと動的型付けの比較をしていましたが、何が違うのか少し混乱したのでメモとして整理します。

まとめてみて、コンパイラ言語と静的型付け言語、インタプリタ言語と動的型付け言語は対応するように思え、なぜこういった分類をしているのかわかりませんでしたが、例えばJavaのようにコンパイラインタプリタの両方の側面をもつ言語もあるみたいです。以下は参考文献です。

ブクログ始めました

フォローお待ちしてます。
https://booklog.jp/users/jumpyoshi