プログラミング作法に関する世界観(Code Reading)です。
「Code Reading ~オープンソースから学ぶソフトウェア開発技法~ (プレミアムブックス版)」を参考にしています。
本格的にプログラミング技法を学びたいなら、「Code Reading」という本がおすすめです。
さまざまなコードの技法について、専門的な内容が詰まっており、僕の書いたこの文章なんかとは比較にならないほど、賢い技法と解説が掲載されています。
きっとこの本の内容が理解出来るようになれば、もうあなたはハッカーの仲間入りです。
プログラミングのスキルを高める上で、既存となるオープンソースなソフトウェアのソースコードを読むことは有効です。
たとえば、わたしたちが日本語を話す際にも、日本語の文章を読んだり他人の話を聞いたりして、そこから日本語が話せるようになります。
プログラミング言語も日本語と同様、既にあるソフトウェアのコードを読むことが有効に働きます。
そもそも、プログラミングコードを書くために、読まずに自分の知識と勉強だけで書こうとすると、初心者でなくても、何かしらのアクシデントが起きた時に対応が不可能になります。
自己流だけでは、プログラミングを究めることはできないのです。
幸い、今の現代のプログラミング環境では、オープンソースのソフトウェアやプロジェクトがたくさんあります。GPLならば注意が必要ですが(自分で書いた派生版のソースコードをGPLにしろと公開要求が来る)、パーミッシブな緩やかなライセンスであればそこまでライセンス上の注意は必要ありません。
なので、どんどんオープンソースのソフトウェアのコードを読んだほうがいいと思います。
注意点は、読むだけでもいけないということです。僕はかつてLinuxカーネルのコードを読もうとしていた時期がありましたが、単にソースコードを眺めるだけで、意味はさっぱり分かりませんでした。読むだけではなく、勉強することはとても大切です。
書くことも大切ですが、書くだけでもいけません。僕はOpenJaneの派生版を作っていたことがありましたが、修正できないバグが発生して、開発をやめてしまったことがあります。あの時は読むことも勉強することもせずにコードを書こうとしたことが第一の間違いでした。
ソースコードを読むにあたっては、身の丈にあった理解可能なコードを読むようにしましょう。僕がLinuxカーネルのソースコードを読めなかった理由は、身の丈に合わない難しすぎるコードを読もうとしていたからです。Linuxカーネルのコードを、最初から理解できるはずのない最高に近い難易度であるにもかかわらず、自分でもさも理解可能であるかのように眺めたところで、理解することはできません。
身の丈にあった難易度のコードを読むこと、そしてただ眺めるだけではなく「理解しようとする意志」を持って読むことが、ハッカーとしてのスキルアップを生み出すでしょう。
2024.10.29