ChaldeaGeckoの日記: なぜプログラミングを学ぶとバカになるのか? 3
それはプログラミングは強烈な成功体験を与え、具体例をそのまま一般化する思考が身についてしまうからです。「過去の成功体験を繰り返そうとする」という、愚かさの代表みたいなものです。
抽象的な思考がすでに身についている人であれば、これはとくに問題になりません。半ば無意識に抽象化とのバランスをとるからです。スラド民の多くはここでしょう。しかし同僚や発注先に「ヘボプログラマ」を見たことがない人もいないでしょう。
たとえば、「undo可能なツリー構造エディタ」であれば、ノードはimmutableな関数型にしたほうがいいでしょう。しかしオブジェクト指向の成功体験があると、ノードにundoメソッドをつけてしまいます。しかしこれでは、ツリーそのものが変わるような場合にうまく対応できません。一から設計するなら関数型を選択するプログラマでも、undoが追加の要求であれば、それまでうまくいっていたオブジェクト指向を放棄するのはとてもむずかしい。そういう事情を知らずにコードだけ渡された人は
void undo() {
if (!deletedChildren.isEmpty()) {
...
}
...
}
といったものを目にして血圧が100ほど上がるのです。
小学生の多くも抽象化能力は十分に発達していないと思われます。したがってプログラミングの「義務教育化」は好ましくない結果を招くことは必然です(もちろんデキる子は別です)。
プログラミングが有用なスキルであることは明らかですが、学ぶべき時期というものがあります。幼いころはバイオリンの演奏や抽象化能力を鍛えた方がいいでしょう。簿記も有用なスキルですが、高校以降がいいでしょう。
一見独善的ないつもの書き様で (スコア:0)
まともな提言とか!(プンスカ
質問 (スコア:0)
①『もっと』と『芸術的創造は脳のどこから来るか?』を読みました。次に読むといい本ありますか?
②私は仏徒なんですが、師匠によく「勉強したことは脳の中に部品として残るだけで、瞑想をせんと使える道具として組み上がらない」ということを言われます。これってセロトニン系の話から説明のつくやつですか?