「先生,これからのゼミ活動のために,Cとかの講義を受けるべきでしょうか?」
このような質問に,私は,Yesとは答えていません.
プログラミング言語は授業で習うものでしょうか?
いいえ,プログラミング言語は自分で勉強するものです.授業はその機会を与えてくれるにすぎません.皆さんはすでに言語を一つ習得しているはずです.ですのでプログラミング言語のエッセンス,すなわち,逐次実行,条件分岐,繰り返し,手続きの抽象化(関数,手続き,method),データの抽象化などを知っているはずです.他の言語はこれらのエッセンスを別の表現手段で書いているにすぎません.(というのは言い過ぎかもしれませんが)
ですので,他のプログラミング言語をわざわざ授業で勉強するよりも,自分で本とコンピュータで勉強した方がずっと効率的に勉強できるはずです.わからないことがあれば手伝います.ですが,自分で勉強する気がないのなら,そもそも授業を受けても無駄です.(自分で勉強するのだけど,ついでに単位がもらえるなら授業を受けておこうというのは良い選択です)
私はかつて,大学の授業ではFortranだけを習い,自分でBASIC, Pascal, OS9 Basic(Pascal), C, Lisp, Miranda, Prolog, Scheme, Tao, ESP, Perl, Python, Ruby, Java, C#などの言語を習得しました(うへ,こいつプログラミング言語おたくじゃないか? いや,そうなんですけど..).LispやPrologなどの特殊な言語以外は,言語を一つ勉強しておけば,その延長でどうにかなるものです.
じゃあLispは?
それは大学院でやりましょう.Lispを勉強してしまうと,その後の人生をずぅ~っと,Lispプログラマーか,隠れLispプログラマーとして生きていくことになるからです.(笑) ちなみに私がPrologのプログラムを書くと,見ただけで「こいつLisperや」とばれてしまうようです.カットの使い方が下手なんですよねぇ.