セカイノカタチスマートフォン用の表示で見るセカイノカタチ世界のカタチを探求するブログ。関数型言語に興味があり、HaskellやScalaを勉強中。タイトルは、流石に大袈裟ですね。こちらの記事を読んでの感想文と、プログラミング教育に対する僕の気持ちです。www.moneypost.jp子供のときから単にプログラミングが書けること自体にはあまり価値はありません。IT関係の仕事で価値があるのはシステムを作れることです。プログラミングは、自分が論理的に考えたシステムを表現するための手段にすぎませんプログラミングとは、何なのでしょうか?車や洗濯機のように、「何かをするための道具」という見方をすることも、もちろんできます。プログラミングは、それ自体に価値のある行いだと僕は思います。「絵が描けること自体にあまり価値はありません。絵は自分自身が考えたイメージを表現するための手段に過ぎません」と言い換えた時に、絵を描くことと表現することの間に、優劣や大切さの違いは感じられません。「プログラミングとは何か?」という問いには、様々な答えがあります。ひとつには、論理的な命令とフィードバックのループです。電卓を叩くと即座に答えが出ますが、このフィードバックの容赦ない即答性が機械やコンピュータの良い所です。プログラミングは、電卓や車の運転と比べて、はるかに複雑な論理的な命令の組み合わせでできており、その組み合わせを冷徹なまでに正確にコンピュータは実行しようとします。人間の持つアバウトさとコンピュータの正確さの間には大きなギャップが存在するため、不慣れた操縦者(プログラマー)は、途端に大量のエラーを巻き起こします。プログラミング以外の方法で、この常識を覆すほどの「トライ&エラー」のスピードを体験する方法を僕は知りません。このループは、明らかに人類の叡智を次世代へと推し進めます。コンピュータを通してありありと体験した逆説的で論理的な世界は、人類の覚醒を促し、世界の構造そのものをひっくり返す力があります。それは、単に「便利だから」というだけではなく、「フィードバック」そのものの持つ力ゆえです*1。「プログラミングより、アイデアや何をしたいかという目的が大事」というのは、一見耳障りが良く、正論に聞こえますが、間違っています。現代、そして未来において、良いアイデアを発揮する為には、プログラミング教育の経験が必須なのです。プログラミングは、アイデアを実現する手段かもしれません、しかし、そのアイデアはプログラミングすることによって、より先進的で逆説的なものへと進化していきます。先進的なアイデアは、よりよいプログラミングへのチャレンジを促し、それがまたアイデアを生むというループが存在するのです。落合氏は、現代の魔術師と呼ばれる人ですので、プログラミングがアートであることや、アイデアとプログラミング(及びプロダクトの実現)が、相乗効果を生む関係にあることは、理解されていると思います。それでも、このような苦言を述べているのは、プログラミング自体の表面だけを捉えて、子どもたちに、単に「良い就職のために」というような矮小な目的を押し付けてプログラミングさせることへの危惧があるのではないかと思います。その点に関して、僕は全く心配していません。プログラミングは「楽しい」からです。子どもたちに必要なのは、キッカケです。キッカケさえあれば、好きな子は勝手にドンドン自分で進んでいきます。今、世の中を支えているプログラマーは、プログラミングが好きでやっている人がほとんどだと思います(嫌いなやつは全員逃げたか死んだよ。いう生存バイアスが掛かっているかも)。面接などをしていて非常に残念に思うのは、「大学の時にプログラミングに触れて面白いと思いました」とか「前職でマクロを組んでみて、非常に面白いと感じ転職を考えています」という人達が、とても多いことです。プログラミングに触れて興味を持つ事自体、とても素晴らしいことですが、もっと早く触れていたらもっと良かったのに!と、勿体無い気持ちでいっぱいになります。僕自信も、プログラミングに触れたのは高校生になってからです(1990年台ではそれでも珍しかった)。彼らや僕が、小学生の頃にプログラミングに触れていたら、世界はもっと変わっていたように思います。今からでも遅くはないのです。プログラミング教育を始めて、より多くの人が、より若い年代でプログラミングに触れられるようになることを切に願います。プログラミング教育より大切なことなんて無いのです。*1:フィードバックにより、物事が進展した例はごまんとあります。スポーツトレーニングでは、何が良くて何が悪いのか、すばやくフィードバックすることが重要な要素になっていますし、将棋なんかでも、コンピュータを使って手の強さを解析することが、研究の主体となっています。20:00プログラミング教育より大切なことなんて無いTweet関連記事2016-07-12プログラミングとは、世界の複雑さを難しさに変換する作業だプログラミングとは、世界の複雑さを難しさに変換する作業だ。セカイノカタチqt...2015-05-13プログラミング言語の難しさはより遠くに飛ぶための翼である複雑さについて思うこと。はてなブログProシステム開発の世界で15年の山の民による、世界のカタチを探求するブログ。(4)はてなブログをはじめよう!qtamakiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。