ソースコードを読む
何事も勉強には先例を参照するのが良い手段ですが、プログラミングでも先人のソースコードを読むことが良い勉強になります。近年はオープンソースプログラムが多数存在するため、良い教材には困りませんが、オジサンである僕の場合を振り返ってみると...
最初は、雑誌に投稿されたプログラムを読むことでした。BASIC全盛の時代です。アセンブラやコンパイラで開発されたプログラムはバイナリのダンプリストでしたが、BASICで開発された場合はソースコードが掲載されていました。自分の機種用で無くとも、読んで移植するのは良い経験になりました。
大学では、Lions' Commentary on UNIXが筆頭です。Unix version 6のソースコードにコメントがつけられたもので、もちろん英文。既に4.2BSDを使用しており、それらのソースコードにアクセスできましたが、同書は貴重な教材でした。しかし、一般人が簡単にアクセスできるものではなく、まさに教材として開発された後のMinixを待つことになります。
同じ頃にGNUプロジェクトが始まっており、徐々に種々のソースコードにアクセスできるようになっていきます。
ROMのソースコードが添付されていたApple IIのマニュアルは見たことはありませんが、仕事の関係でギリギリ最後のIBM PC/ATを購入し、それのマニュアルのBIOSのソースコードは読みました。
製品のソースコードと言えば、Java Development Kitを入手したら、クラスライブラリのソースコードがあって、有名なプログラマのコメントがあったりして、妙に感動しました。そういえば、MFCもソースコードは付いていましたね。
オープンソースが隆盛になるころから、自身でコードを書く立場ではなくなったため、興味半分もあってのぞいたのは、Linux 2.0の頃とPHPが最後でしょう。名前は忘れましたが、国産のLinuxディストリビューションに添付されていた独自エディタか何かのソースを見たら、とてもがっかりするレベルだったことを思い出しました。そう思ったのなら貢献すべきだった感じもしますが、僕はそのディストリビューションを使うのをやめました。ともかく、参照できるソースコードが多数有るのは、うらやましい限りです。
Apple製品もご存知の通り、オープンソースプログラムを多用しており、それらのソースコードが公開されています。Apple製品を愛用しているのにも関わらず、いずれも読んだことが無いので、今度アクセスしてみようと思います。