「だれもがプログラミングを学ぶべき」ではない

no extension
プログラミングが注目されたことにより、問題を理解することよりも、それを「正しい方法で」解決することに重きが置かれるようになった。
via 頼むからプログラミングを学ばないでくれ | TechCrunch Japan

いや,まったくもってその通り。

プログラミング言語は日本語や英語のようなものとは決定的に異なる。

日本語や英語を習得するのに文法から習う人はいないだろう(日本の学校教育は違うかもw)。 たくさんの言葉を聞いて話して書いて読んで,そうして少しずつ語彙を飲み込んでいって習得していくものだ。

プログラミング言語は違う。 プログラミング言語で決定的に重要なのは言語仕様つまり文法である。 何故ならプログラミングとは,究極的には,ゼロ知識から論理を積み上げていくことであり,プログラミング言語はそのための道具であり手段なのだ。 論理を積み上げることで語彙が増え,更にその語彙を使って論理を積み上げることができるなら,その言語は良い言語だと言える。

そういう意味でプログラミング言語はむしろ「数式」に近い(実際プログラミングの半分以上は数学だが。残りは工学)。

最近はプログラミング言語を「第三言語」などともてはやしたり,あまつさえ小学校の必修科目にしようなどというお馬鹿な国まで登場する始末だ。 しかし。 考えてもみたまえ。 「掛け算は順序が大事」などと言ってはばからない未開人の国がどうやってプログラミングを教えるというのだ。 どう考えても破滅的な未来しか想像できない。

私がよくひきあいに出すのは「数学の問題を解くのに公式の暗記から始める人はプログラマには向かない」というものだ。 念のために言うが,これは単純に向き不向きの問題で優劣の問題ではない。 しかし本質的に「向かない」人が教育と称してそれを無理やりやらされることが本当にその人のためになるのか? 私が学生時代に語学でメチャメチャ苦労した挙句に何も身につかなかったように「労多くして功少なし」ということになりかねない。

もちろん「好きで学ぶ」のは結構なことだ。 好きでやるのなら向いていようがいまいが関係ない。 しかし「教育」としてそれを学ばされたり,仕事を得るためにやるのであれば話が別だ。

向いてないのに苦労した挙句に「インプリメンタ」でくすぶり続けたいのなら止めはしないが(そういう人は掃いて捨てるほどいる),しかしこれを国家レベルでやるのは勘弁して頂きたいところである1

ブックマーク

参考図書

photo
プログラマの数学
結城 浩
ソフトバンククリエイティブ 2005-03-24
評価

プログラマのための論理パズル 難題を突破する論理思考トレーニング アルゴリズムパズル ―プログラマのための数学パズル入門 プログラマの考え方がおもしろいほど身につく本 問題解決能力を鍛えよう! プログラムはこうして作られるプログラマの頭の中をのぞいてみよう プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問

プログラマ必修の教科書(笑)

reviewed by Spiegel on 2016-05-17 (powered by G-Tools)

photo
いかにして問題をとくか
G. ポリア 柿内 賢信
丸善 1975-04-01
評価

いかにして問題をとくか・実践活用編 数学的思考法―説明力を鍛えるヒント  講談社現代新書 数学×思考=ざっくりと  いかにして問題をとくか 数学ガールの秘密ノート/数列の広場 授業研究に学ぶ高校新数学科の在り方

数学書。というか問いの立てかたやものの考え方についての指南書。のようなものかな。

reviewed by Spiegel on 2014/09/26 (powered by G-Tools)


  1. 大昔に「将来ソフトエンジニアが10万人単位で足りなくなる」とか言われて世の中に大量に輩出させた挙句,バブルが弾けて大勢のエンジニアが路頭に迷ったあの時を,私は絶対に忘れない。 [return]