プログラミングは誰でも出来るかについて、世の中に本当にいろんな説があるが、この分野で著名な人々の意見は、概ね、プログラミングには才能が必要ということと思う。
しかし、私は著名な人の意見であっても信用しない。

プログラミングが出来ない人というのは、私が知る範囲では、ハナからプログラミングに興味を持っていない。
いや、例外が1人いて、私が「まるで駄目男」と呼ぶ本当に駄目な男が、私がプログラミングを勧めると、大いにやる気を見せたが、さっぱりだった。しかし、それは能力の問題ではなく、彼が、プログラミングを甘く見過ぎていて、必要な粘りを発揮しなかっただけだ。

「まるで駄目男」は、地頭は悪くないと思う・・・分からないが(笑)。
そして、私には、この「地頭」という言葉がひっかかる。
地頭とは、生まれつきの頭の良さみたいな意味と思うが、そのようなものが、あるかどうかも私には分からない。
優秀な親の子供は優秀だと言うが、それは単に、家庭環境の問題で、優秀な親は、子供が知性を発達させる良い環境を与える可能性が高いだけかもしれない。
とはいえ、生まれ、育ちの両面を考えれば、やはり、地頭の良し悪しはあるのだろう。

ドワンゴ創業者の川上量生さんが、著書だったか、何かのインタビューだったか忘れたが、「地頭が良ければプログラミングは出来る」と言われていたが、逆に言えば、地頭が悪ければ出来ないということだろう。
その川上さんは、物理学者の竹内薫さんとの対談だったと思うが、日本の学校教育に関して、
「学校時代、教科書を読まないといけないので、(多分数日で)さっさと読み、読んだからもういいだろうと思って授業中に別の本を読んでいたら怒られた」
ことが不合理であるといったことを言われていた。
こりゃ、川上さんは相当に地頭が良いのだろう。正直、私の想像範囲を超える。
川上さんも、プログラミングはかなり出来たのだと思う。

ところで、人間は、自分の頭が悪いとは思わないものらしい。
パフォーマンス的な謙遜で「私は頭が良くない」と言う人はいると思うが、そんな人だって、本心ではそう思っていないことが大半だろう。
しかし、自分の頭が悪いことを客観的に思い知った時には、自分の頭が悪いと理解することはあるのだと思う。
実は、私がその類だ。
ところで、「俺は頭が良い」と自分で言う者は、おそらく全員、頭が悪いと思う。
川上量生さんが自分の頭が良いと言うのを見たことはないが、舛添要一さんは、昔はよく言われていた。よく分からないが、舛添さんは、自分の土俵に引っ張り込む強引さがあるだけで、あまり賢い人だと思ったことはないが、最後は馬鹿を証明したような気がする。
まあ、私に人の頭の良し悪しを判定する能力はないので、多分、誤解だろう。申し訳ない舛添さん。

で、プログラミングの話に戻るが、「どの程度出来るか」の問題はあっても、食べていけるだけのプログラミングは誰でも出来るのではと思う。
そりゃ、高性能なOSやプログラミング言語を作るとか、超高機能高品質なアプリを作るなどというのは、確かに、優秀な人でないと無理かもしれないが、開発会社で優秀と言われる程度のプログラマーなら、その気になれば誰でもなれると思う。
ただ、それが出来るようになるのに必要な時間の見積もりを誤る人が多いと思う。
アメリカの著名なコンピューター科学者ピーター・ノーヴィグは、プログラミングが一人前に出来るようになるには10年かかると言ったが、彼の「出来る」の基準は相当高いはずなので、この通りではないとしても、相当熱心にやったとしても、優秀なプログラマーになるには、少なくとも3年くらいはかかると思う。
ビル・ゲイツが本当にプログラマーとして凄かったという証拠を見たことはないが、天才と言われる彼だって、高校時代は毎日長時間プログラミングをしていたらしい。
ピーター・ノーヴィグがブログに書いていたように、プログラミングの入門書のタイトルでよくある「3日で出来る」だの「1週間で覚える」というのはとんでもないことで、そんな本の著者達は、いつか必ず罰(ばち)が当たると思う(笑)。

もっとも、本人にやる気があっても、開発会社では職場の問題で、プログラミングが嫌になってマスター出来ないという場合はあると思う。
そこで、プログラマーになりたいなら、開発会社や情報部門に入る前に、そして、入った後だとしても、家で勉強すべきだ。
ところで、私はいろいろなプログラミング言語や開発ツールを習得したが、本以外で勉強したことはない。
つまり、研修やネットのプログラミング講座で勉強したことはない。まあ、そこらは人によると思うが、早い話が、頭が良くなくても、本さえあれば、ちゃんと勉強出来るのだ。
私は一度、NECのプログラミング研修に行かされたことがあるが、後で上司に「NECの講師がカンカンだぞ」と怒られたことがある。まあ、だいたい理由は分かるが(笑)、私は、研修でプログラミングを憶えること自体が間違いと思う。時間が少な過ぎるのと、後は・・・言わない。講師を馬鹿にしたくない。
まして、日本の学校でのプログラミング教育は、絶対反対である。
間違いなく、日本のITレベルを下げることにつながるだろう。
面白い教材を渡して、やる・やらないのレベルから、子供達の自主性に任せると良い。
学校ではそんなやり方は出来ないだろう。何より、教師に教えさせるなんて馬鹿だけは、頼むからやめて欲しい。













当ブログ著者、KayのAI書。
AIの基本技術(例えばニューラルネットワーク)を作るなら、数学、プログラミング、コンピューター、AI理論等の高い理解が必要です。
しかし、優れたAIツールが普及している現在では、会社や研究所等で使うAIを作るには、全然別のセンスや能力が必要です。
本書では、優秀な無料AIアプリであるソニーのNNCを使います。
そして、普通にイメージ出来るテーマや面白いテーマにより、自分で実際にAIを作れるセンスや能力を身に付けます。
本書のほぼ全ての実習を行うためのデータが作れる、Excelマクロ(VBAプログラム)で作られたシミュレーション・プログラムを出版社サイトから無料ダウンロード出来ます。