C言語を教えてはいけない


Rubyは洗脳言語」とは、どういうことか?

と、思って調べていたら、C言語の洗脳』なる記事を見つけました。



C言語プログラマなら誰でも一度は習うだろう言語だが、

本当は、C言語は抜群に優れた万能言語ではないと言うお話。





C言語の洗脳


(上の元ネタ)

だから、C言語の全能性を否定するようなものが、すべて抹殺されたのだ。


(さらに元ネタ)

金槌は役に立たない


Pythonを使っている自分は進歩的だ!』と言うようで恐縮なのですが、

たしかにC言語は全然優れていないと思います。

少なくとも、教育用には。


ウチの大学の教養部の情報の授業では、当然の様にC言語を教えていました。


そして、大多数が挫折していました。


生のC言語を使うより、C++の方が簡単です。

デンジャラスなscanf・printfを使わずに済みますし、
std::stringやstd::vectorがあります。


PythonRubyの方がもっと簡単でしょう。

C言語でポインタを習う頃には、Pythonは標準ライブラリに突入できます。

そして、学期が終わったとき、C言語はファイルの読み書きがやっとできる段階で、
PythonGUIにでも挑戦しようかという段階かもしれません。


って事を、数学教育専門の教授に言ったら、

「でも、PythonRubyを教えられる人がいないでしょう」



そんな馬鹿な!プログラミング経験があり、大学で講師が務まる思考力があれば、
Pythonなど3日で使えるはず。



別の話ですが、工学部の応用化学の研究室でアルバイトをしていたことがあります。

研究していたのは、化学反応のコンピュータシミュレーション。

つまり数学科の私なんぞより、ずっとプログラミングに詳しい・・・と、思っていました。


Pythonをかじっていた私は、研究員の人に

C言語よりPythonの方が良いです」

と、提案しました。



すると、研究員の返事は、

「でもPythonって難しいんでしょ?」

裸のC言語で何かやる方が難しいです!!



あんた、プロならちっとは勉強しろ!!


ところで

金槌は役に立たない

の最後の段落、

ところで、これは技術ではないが、祝福されない危険な××を思いついた。
あなたはこんな声を聞いたことがあるだろうか。私はない。
「実務経験は役に立たない」

これには、ナルホドと思いました。

たしかに「実務経験は役に立たない」なんて、聞いた事はないですね。




もちろん、無経験で出来る業務なんて限られてるでしょうけど、

経験豊富だからと言って、優秀とは限らないでしょうし。




学生の私が言うのもおこがましいですが。