全くの素人にプログラミング言語を教えるとしたら

とりあえず、ひと通りの標準ライブラリがそろっている言語がいいと思う。この時点でC言語はパス。何でかって言うと、自分で組んだプログラムと、標準で備わっているプログラムの差を感じてもらうため。そのためにはC言語の標準ライブラリは貧弱すぎる。せめて、連結リスト、スタック、キュー、木、ハッシュテーブルくらいのデータ構造は欲しい。アルゴリズムに関してはC言語でも十分だと思うけどね。


で、ある程度プログラムが組めるようになったら*1、ソートや探索といったアルゴリズムを組ませてみて、自分の組んだプログラムと標準にあるプログラムを比較させる。データ構造も同様に。


こうすることで、「全て自分で組まないと気が済まない」とか、「ライブラリを全く知らない」ようなプログラマになることはないんじゃないかなぁ。


まぁすべては教える人、参考にする書籍次第だと思うけど、結構ライブラリって教えてもらわないんじゃないかなぁ、と。そもそも教える側が知らなかったりするし。


とは言っても、万人に通用するような方法なんて存在しないだろうし、結局一番重要なのは本人のモチベーションをどれだけ保つか、かもしれない*2

*1:ある程度プログラムが組めるようにどうするか、というのは考えてない(ぉ

*2:だからと言ってモチベーションを高めることだけに注力して、肝心の知識をないがしろにしてしまったら論外だけど