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

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

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

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

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

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

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

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

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

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

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

ブックマーク

参考図書

photo
プログラマの数学 第2版
結城 浩
SBクリエイティブ 2018-01-16 (Release 2018-02-08)
eBooks Kindle版
ASIN: B079JLW5YN
評価     

タイトル通りプログラマ必読書。第2版では機械学習に関する章が付録に追加された。

reviewed by Spiegel on 2018-03-19 (powered by amazon-item v0.2.0)

photo
いかにして問題をとくか
G. ポリア
G. Polya (原著), 柿内 賢信 (翻訳)
丸善 1975-04-01
Book 単行本
ASIN: 4621045938, EAN: 9784621045930
評価     

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

reviewed by Spiegel on 2018-10-20 (powered by amazon-item v0.2.0)


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