まつもとゆきひろ コードの世界 / まつもとゆきひろ

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法

 

おそらく著者が長年の言語開発経験からプログラミングの世界に広がる様々な技術について触れたものについて、それぞれ軽く触れていくという内容だった。日経Linuxの連載まとめなせいか、本としては微妙だった。同じ話、単語について何度も同じ説明をして「さっきも読んだような……?」という感覚によくなった。誤植も散見された。表紙の煽り「スーパープログラマになる14の思考法」というのもどこかズレている気がする。しかし興味のある部分もない部分も手広く俯瞰できように書かれているので基礎的な知識にもなったし、この本を読んでいるうちに暫く自分の中でのテーマになるであろう新しいアイデアも産まれた。

 

「「何故?」と考えることは心のリファクタリング」なんだと考えている。心にはブラックボックスな部分が多い。なんとなく動いている気がするし、直そうとすると頭が痛くなるような気さえする。まさにレガシーコードだ。そう、心はレガシーコードばかりだ。特に20年以上何も考えずに生きてきたような自分の心はとんでもないことになっている。僕が自分に「何故?」を問い出したのは25の時だ。転職しようと考え、転職エージェントにひたすら「何故?」と問われた。まあマニュアルなんだろうけど、その時は「このドSプレイは何なんだろう……」と泣きそうになりながら考えた。25年間の負の遺産が溜まりに溜まった僕の心は生きるレガシーコードと化していた(今ではそのエージェントに感謝している)。今では「何故?」と考えることは心のコードをリファクタリングすることなのだと考えている。リファクタリングによって心のコードは整理され、読みやすくなる。今何がしたいのか、何をしているのかわかりやすくなり、変化に対応できるようになる。リファクタリングはできるだけ頻繁にやるのが鉄則だ。継続的に自分を整理し続けることが大切なんだと思う。ただし、リファクタリングは何も実行しない。リファクタリングだけしていても、先に進むことは決してない。ここはバランスを持たなければならないと思う。Rubyは思考をコード化しやすい。また言語が思考に影響を与えるという説もある(微妙な説だそうだけど)。自分の思考をコード化できればそれはリファクタリングできる。思考のフレームワークとなる。プログラムで自分の思考を整理できないだろうか?そんなコードを書いてみたい。