プログラミングの本質を知りたい。そんなときは、やはり現職プログラマーの話を聞くことが一番です。
トッププログラマーが語る本音のエッセイから、本質を学びましょう。
『プログラマが知るべき97のこと』とは
トッププログラマーによるエッセイ集
書籍『プログラマが知るべき97のこと』には、たくさんのプログラマーによる97本のエッセイが詰め込まれています。日本語訳版には、さらに日本人プログラマー10人によるエッセイもプラスされています。
それらはいずれも、トッププログラマーが語る渾身のエッセイです。
どこからでも気軽に読める
エッセイは、いずれも1~2ページで完結しています。パラパラとページをめくり、気になったエッセイから読み進めることもできます。
またエッセイは、カテゴリによって整理されています。プログラミングで困った時に、辞書として利用することもできます。
エッセイの例
特に、初心者プログラマーに役立つエッセイを3つご紹介。
美はシンプルさに宿る
エッセイの中で、筆者はプラトンの言葉を引用しています。
文章にしろ、和音にしろ、リズムにしろ、美しく、優雅なもの、優れたものはすべて、シンプルである。
プログラムコードを書くときに注意することは、まとめれば以下のこと。
- 可読性
- 保守性
- 開発効率
- (言葉で表現するのが難しい)美しさ
そしてそれらは、シンプルであることを心がければすべてが達成される。としています。
プログラマーであれば「シンプルなほうがいい」という主張に異論を唱えるひとはいないでしょう。このエッセイでは、その理由を丁寧に説明しています。
学び続ける姿勢
学び続けることは、プログラマーにとって大事なことです。(プログラマーでなくても大事ですが)
でも、具体的にどうやって学べばよいのでしょう?
このエッセイでは、具体的な学びかたを、14通りの方法で語っています。簡単にまとめると以下のこと
- 書籍や雑誌を読む
- コードを自ら書く
- 自分よりレベルの高い人と仕事をする
- 自分の「良き師」をネットで探す
- 自分の使っているフレームワーク/ライブラリの知識を深める
- 問題を深く理解する
- 人に教えたり話したりする
- コミュニティに参加する
- カンファレンスに参加する
- 通勤時間にポッドキャスティングで学ぶ
- 静的分析ツールを使う
- 『達人プログラマー』を読んで実践する
- コンピューター以外のことも学ぶ
- 学校に通う
詳しい話は、ぜひ書籍で読んでみてください。
テストのないソフトウェア開発はあり得ない
ソフトウェア開発は、ものづくりという意味で、建設作業と比較されることがあります。このエッセイでは、両者の根本的な違いを論じています。
ソフトウェア開発を橋の建設に例えると、「橋を作ってから、重いものを乗せて耐えられるか確かめる」というようなことをしています。橋の建設でこんなことありえないですね。
ソフトウェア開発では、手軽にテストができます。作りながらテストする、テストしながら作る、ということができるわけです。でも、手軽であるがゆえに、テストが軽視されてしまうときがあります。
橋の建設をするとき、
今回は構造解析しなくてよいよ。何しろ工期が迫っているからね。
なんて決していいません。
でもソフトウェア開発では、
今回は時間がないから、テストなんてしていられない!
ということを、言ってしまうときがあるわけです。
このエッセイでは、テストに関わる大事なことを述べています。
- テストは、ソフトウェア開発における品質保証の第一の手段
- テストをしさえすれば、それで十分ということはない
- でも、まずテストをしないことには話にならない
ソフトウェア開発において、テストをおろそかにすることはあり得ない。エッセイではこの重要さが語られています。
まとめ
書籍『プログラマが知るべき97のこと』にある107本のエッセイ。トッププログラマーの言葉は心に響きます。
でもその中には、何かしっくり納得できないものがあるかも。
おかしいことは何もありません。本書ではこう述べられています。
- 知らなくてはならないこと、しなくてはならないことは、無数にあります
- そのため、誰も「これが唯一正しい道だ」と言えません。本書もそういう本ではありません
- エッセイ同士が補完しあう関係になることもあれば、矛盾し合うものもあります
- そこから、自分なりにつながりを発見し、自分だけの物語を紡ぐのがよいでしょう
ぜひ本書で、自分の、プログラマーとしての物語を作ってみてください。
コメント