2008年11月9日日曜日

【雑】プログラミングを学ぶことについて

子供のときに、コンピュータにちょっと興味をもったことがあって、コンピュータに詳しいというおじさんに、プログラミングできるようになるにはどうしたらいいの? と聞いたことがあった。プログラミング言語っていろいろあるし何やったらいいか、わかんない、という子供心だったと思う。

そのおじさんは、多分真剣に考えてくれて答は次のようなものだった。

  • プログラミング言語は何でもいいので、まずひとつの言語に定めて、それをちゃんとマスターしなさい。
  • マスターするためには、よい問題集を一冊やること。それを繰り返し何度もやることが大事。

結局、子供のときはプログラミング言語に手を出すことはなかったが、今、おじさんの言葉に従ってCommon Lispに絞って、ちゃんとマスターしようとしている。

しかし、このおじさんのアドバイスを拡張しなければいけない、という思いが強くなってきた。このおじさんのアドバイス通りにやるとしたら、C言語しかないのではないか? というのは、プログラミングがちゃんとできるようになるには、基盤として、

  1. あるプログラミング言語とアルゴリズム能力の習得
  2. OSの知識
  3. 効率的にプログラムを書くための環境の知識

が必要に思う。これが例えば1がCommon Lispだとすると、まあ、

  1. Common Lisp
  2. Unix
  3. Emacs

というのが順当になる。2をちゃんと理解するには、C言語は必須であるし、3をちゃんと理解するにはEmacs Lispの理解は必須である。なので、3言語をマスターしなければならない。

これがC言語ならば、

  1. C言語
  2. Unix
  3. Vi

という組み合わせがあって、これはC言語ひとつが言語としては必須と考えてもよいと思えるからだ。

ということで、この際腹をきめる必要がある。破戒して、CL、ELisp、Unix/Cをみつどもえで習得していく必要があるということだ。

0 件のコメント: