ITスペシャリストが語る芸術

-The Kay Notes-
SE、プログラマー、AI開発者、教育研究家、潜在意識活用研究者、引きこもり支援講師Kayのブログ。

プログラミング学習

当ブログは、第一期ライブドア奨学生ブログです。
◇お知らせ
[2019/12/28]AI&教育問題専用ブログ、メディアの風を公開しました。
[2017/03/01]「通りすがり」「名無し」「読者」「A」等のハンドル名のコメントは原則削除します。

最速のプログラミング習得法

もう少し、プログラミング学習と、ひろゆきさんのYouTubeの切り抜き動画の話を続ける。
ひろゆきさんは、プログラミング習得法や、プログラミングで稼ぐ心構えについてベラベラ喋る(笑)のだが、言わんとするところは分かるが、現実離れしている感じがする。
もし、彼が言うことが当を得ているとしたら、それは、彼のように飛び切り頭が良い人の場合の話で、普通のIQ100前後の人はもちろん、ちょっと頭が良いIQ110程度の人が真似しても全く駄目であると思う。
もちろん、IQを高めてから真似すれば可能かもしれないが、IQが高くないままやっても、うまくいくはずがない。
IQが高い大学生がプログラミングでかなり稼いでいることがよくあるが、やはりプログラミングはIQだし、そんな大学生が、自分はどうやってプログラミングをマスターしたかなんて言うことはない。彼らにとってのプログラミング習得は、せいぜいが「どうやって自転車に乗れるようになったか」と同じで、確かに初めは多少は苦労したかもしれないが、出来るようになったら、もう憶えていないくらい、簡単でどうでも良いことなのである。

『正法眼蔵随聞記』という、『正法眼蔵』という名著を書いた道元が、「ついでに語った」程度のお話を弟子がまとめた本がある。
超難解な『正法眼蔵』と違い、『正法眼蔵随聞記』はとても分かり易いが、これがまた名著である。
丁度、孔子の言葉を弟子がまとめた『論語』や、親鸞の弟子の唯円が、親鸞が話したことで憶えていることを記した『歎異抄』が超名著であるのと同じである。
どんな賢い人、偉い人でも、本に書いたり、講演で語ることというのは、どうしても本音から外れた話になってしまう。
ひろゆきさんの場合だって、彼が収録目的で語ったプログラミング習得法なんて役に立たないが、ついでに言ったことの中に良い話がある。
彼は子供の時、雑誌に載っていたプログラムを、そのままパソコンで打ち込んで動かしたことでプログラミングを憶えたと、ちゃんとまともなことを言っているのである(笑)。
当時は、インターネットはなく、普通の人が、良いプログラムを得る方法は、本か雑誌しかなかった。
もちろん、当時から、プログラミングの学習書は沢山出ていて、良い本もあったかもしれないが、そんな本はお勉強好きな変人(笑)でもない限り面白くないものだ。
だが、意味は分からないながら、雑誌に載っているプログラムを打ち込んで走らせることには興奮があり、その退屈な作業もさして苦痛ではない。
多くのトップのIT企業で活躍したプログラマーで事業家の清水亮さんが以前、プログラミング習得は「写経」に限るとよく言われていたと思う。
とにかく、見本のプログラムを淡々と打ち込むのである。
プログラミングに限らず、一流小説家の中にも、修行時代に、ヘミングウェイ等の文豪の作品を淡々とタイプした人もいる。
画家やイラストレーターも、好きな作家の作品の模倣から始める場合が多いし、音楽だってそうだと思う。
漫画家にも、子供の時に、好きな漫画家の作品をそっくり自分で描いたという人もよくいる。

私も、プログラミングが出来なかった時、雑誌に載っていた長いプログラムを長時間かけてパソコンに打ち込んだ。
だが、そのプログラムを動かしても(昔は「走らせる」という表現をしたものだが)、なかなかうまく動かない。
(今は、言っても分からない人が多いと思うが、「コンパイルが通らない」ということも全然ある)
タイプミスがあるからだが、ここで、プログラムは一文字でも間違えていたら動かなかったり、間違った動作をすることを実感するという良い経験を得る。
今は、パソコンで出来る楽しいことが沢山あるし、もっと楽で面白いスマートフォンもあるので、そんな退屈なことをする人はいないが、それが最も速いプログラミング習得法であると思う。

長い歴史を持つC言語というプログラミング言語は、決してなくなることはない今でも重要な言語であるが、習得は難しいと言われる。
私は、本でC言語を憶えたのだが、実際のところ、解説はあまり分からなかったが、載っていたサンプルプログラムを打ち込んで動かしたら、そのうち憶えたのだと思う。C言語の中でも難しいと言われる「ポインター」も、プログラムを打ち込みながら、なんとなく目に入ってくる解説(図式化されている場合がほとんどだ)を、頭が勝手に理解してくれたのだと思うが、これも自然な学習法だ。
たとえば、親や先生が言葉で教えることは、ほとんど身に着かないが、彼らが普段やっていることをなんとなく見ていて、それを真似るのである。良いことも悪いことも(笑)。よって、ロクでもない親や教師を持ってしまったら、意識的に拒否しないと危ない(笑)。

このように、頭は勝手に理解するのであり、その能力は強力だ。それを利用しない手はなく、「写経」こそ最強の学習法だ。
ただ、いくら写経が良いと言っても、退屈過ぎては続かないので、写経したら動かすのが良く、それが興味深い動きをするプログラムであることも大切だろう。

まあ、その前に、クンバク(息を大きく吸って止めること)をしたり、瞑想をしたりで、頭を良くするのが先だ。
人間の脳は、余計な思考を消すことでいくらでも良くなり、IQも打ち上げ花火のように向上するのだと思う。
そのためには、クンバクや瞑想が有効であると思う。

◆当記事と関連すると思われる書籍のご案内◆
(1)正法眼蔵随聞記 (講談社学術文庫)
(2)歎異抄(梅原猛訳、解説)
(3)論語 (岩波文庫)
(4)Excel VBAコードレシピ集(大村 あつし他)
(5)1冊ですべて身につくJavaScript入門講座
(6)マルチナ、永遠のAI。(大村あつし)
(7)楽しいAI体験から始める機械学習(Kay他)
(8)プログラミング作法 (ブライアン・カーニハン他)

霧の中の庭園
AIアート1157
「霧の中の庭園」
Kay

プログラミング学習法の嘘

YouTubeには、プログラミングの学習法を教える動画が沢山ある。
有名なひろゆきさんが、プログラミングに取り組むことを薦める切り抜き動画(他者がオリジナル動画を編集した動画。本来は違反or違法だが一般的になっている)が沢山あり、それらの再生数は非常に多い。
ぼんやり憶えていることで言えば、ひろゆきさんは「今の仕事の給料が安いならプログラミングをやってみたらどうか?」「プログラミングをやるメリットは非常に多く、やらない理由はない」みたいなことを強く主張し、さらに、プログラミングを身に付ける方法をアドバイスしている。

ひろゆきさんの主張は、明らかに間違いとは言えないが、全く的外れだとは言えると思う。
また、プログラマーがプログラミングの学習法を教える動画も、大抵無意味なものだ。
まず、プログラミングの学習法などない。
プログラミングの勉強方法を人に質問する時点で、あるいは、プログラミングの学習方法の動画を見る時点で、向いてないと思う。

話は簡単である。
プログラミングが出来るか出来ないかを決めるのはIQだけ・・・以上である。
世の中には、プログラミング以外に面白いもの、意義のあること、うまくやれば良い収入をもたらしてくれる技能などいくらでもある。
向いたことをやればいい。
明らかに絵の才能がない人に対し、画家やイラストレーターになることを薦めることや、運動神経や体力がない人にプロ野球選手になることを薦めることが間違いであることと全く同じで、IQが高くない人にプログラミングを薦めるべきではない。
また、「今の時代、誰もがプログラミングがある程度出来た方が良い」という意見も、私は全く反対。大半の人はプログラミングに全く向いてない。
学校のプログラミング教育なんてものも馬鹿なものだと私は思う。
「誰もがテレビの修理くらい出来た方が良い」とか「学校で全生徒にガンジーの思想を教えよう」というのと同じようなものだと思う。

よく、「各国の平均IQ」なんてことがまことしやかに言われるが、そんなデータ、どこにあるのだろう?
あったとしても、ごく一部の人についてのデータで、極めて偏ったものだろう。
IQは精神科医に計ってもらえるらしいが(費用も時間もかかる)、聞く限り、精神科医の偏見も影響するような気がする。
ネットのIQテストは、もちろん正確ではないかもしれないが、そこそこの目安にはなると思う。
書籍のIQテストには、まずまずのものもあると思う。
ネットや書籍のIQテストで、全て110以上と出れば、だいたいプログラミングは出来ると思う。
IQ110以上は、統計では上位30%だが、実際、プログラミングが出来るようになる割合は、やはり30%程度かもしれない。
しかし、ひろゆきさんが言うように、プログラミングで稼げるというのは、ネットや書籍のIQテストで120~130以上の人のみと思う。
ちなみに、IQ120で上位10%、つまり、10人に1人だ。
IQ120になれば、IQということに関してはさほど差はないという説もあり、そこで初めて、個性が問題になるのだと思う。
だが、IQ120以上なら、個性に関係なく、そう苦労せずにプログラミングが出来るようになると思う。
出来るようになる方法は何でも良い。我流で良い・・・というか、我流しかないと思う。
子供プログラミング教室なんてものがあるが、あれで金を取るのもどうかと思う。環境だけ与えて「勝手にやれ」と言えば良いだけである。それで、出来る子は出来、出来ない子は出来ない。それで良いと思う。

IQの遺伝率は80%という説があり、これは肥満の遺伝率より高いという。
しかし、肥満の遺伝子を持っていても痩せることが出来るように・・・いや、それ以上に、IQは後天的にいくらでも上げられると思う。
なぜなら、人間の脳の潜在力は、間違いなく、恐ろしく大きく、個人的には、IQは誰でも200以上にすら(IQは140以上に実際の意味はないという説もあるが)出来ると思う。
まずは、深呼吸をして脳にたっぷり酸素を送ったり、瞑想をすれば、かなり簡単にIQは上がると思う。

◆当記事と関連すると思われる書籍のご案内◆
(1)言ってはいけない 残酷すぎる真実(橘玲)
(2)プログラミング作法 (ブライアン・カーニハン他)
(3)JavaScriptの絵本 第2版
(4)マルチナ、永遠のAI。(大村あつし)
(5)楽しいAI体験から始める機械学習(Kay他)

呼吸と体温
AIアート1156
「呼吸と体温」
Kay

無理に告白するな

今のアニメやライトノベルを見ると、「好きなら勇気を持って告白しろ」みたいな雰囲気のものが多いが、それはどうかと思う。
そんなアニメなどは、視聴者に、「ひょっとしたら、あの子に告白したらうまくいくのでは?」という妄想の希望を与えようとしているだけだ。
うまくいくなら、その男女の間に引力が働いており、自然にうまくいくはずで、その流れの中で、「ついでに」告白みたいなことをする場合があるというだけだ。
だが、こんな話もある。
昔、ある大農場で働く若い小作人の男がいて、彼は、そこの農場主の美しいお嬢さんに憧れていた。
しかし、身分違いもはなはだしいので、諦めてしまい、アクションを起こすこともなく、やがて、その農場を離れた。
ところが、ずっと後で、そのお嬢さんも、実は、彼に気があったのだと分かり、彼は悔しい思いをした。
まあ、男の方も、よく考えれば、そうではないかと思える出来事はいろいろあったと気付くのだ。
この場合はどうだろう?
やはり、縁がなかったのである。
単に惹かれ合うだけなら、世の中にいくらでもあるが、実際に結ばれるのは、そのうちの一部だ。
その男が、もし、そのお嬢さんに見合うだけの男なら、何か起こったはずなのだ。
だが、実際には、その男に、何かを起こすだけの器量がなかったのである。

だから、告白しようなんてつまらないことは考えず、男や女を磨くべきなのである。
磨き方が良いと、もっと良い男や女を引き寄せ、以前憧れていた相手に対しては、「なんで、あんな男(女)が良いと思ったのだろう」と思うものである。

もうずっと前から、「今の時代、プログラミングが出来ないといけない」とかよく言われ、さらにその前から、「今の時代、英語が出来ないと駄目だ」などというのをよく聞いたと思う。
それは、英会話学校とか、パソコン屋とか、プログラミング教室が、人々をそそのかして儲けたり、英語やプログラミングをちょっと出来る者が優越感を満足させるために言ったことである。
まあ、私の場合も確かに、若い頃に勤めていた会社で、ある技術課長に「これからはプログラミングが出来ると良い」と言われたことで、プログラミングの勉強を始めたような気もするが、元々、私がプログラミングに興味があったから、実際に取り組んだのであり、そうでなければ、誰に何を言われても、やろうとしなかったはずだ。
いい歳になったサラリーマンが、「英語をやっておけば良かった」とか「経理の勉強をしておけば良かった」、あるいは、「株取引に取り組んでおけば良かった」などと言うことも多いが、そんな後悔はすべきでない。
本当に興味があれば、実際にやっていたはずで、そうでないなら、間違ってやっていても、無駄であったか、良い思いはしなかっただろう。

大切なことは、昔であれば、テレビや新聞、今で言えば、ネットのインフルエンサーの言うことなど聞かない・・・つまり、騙さないことだ。
外側だけピカピカだったり、上っ面が格好良く思えるだけの論破王みたいな者の言うことに軽薄に同調せず、なるべく無心でいることだ。
モブキャラに人気が出る者って、大抵が中味のない軽薄な者なのだから。
中には、本当に立派なインフルエンサーもいないこともないが、そんな者達を軽薄に仕立てて利用することで儲けている者が今は多いのだ。
もし、軽薄な欲望や見栄をなるべく持たず、出来るだけ無の状態で、自分が本当に興味があることをやっていれば、自然にうまくいくだろう。
無になることは、このブログのメインテーマである。
器によるレベルは確かにあるが、人間は、無になりきれば不可能はなく、全て思い通りなのである。








上達の秘訣は「楽に長く」

いかなることにおいても、「継続は力なり」が真理であると思う。
そして、面白ければ続き易いが、最初から面白さが分かるものばかりではないし、そもそも、継続より難しいのはスタートであることをご存じと思う。
それで考えれば、楽で便利なことしか取り組めないし、続かない。
勉強でも、運動でも、ピアノでも、引き寄せでも。
ピアノ教室も、いかに楽にスタートを切らせてあげるかが大切なのに、絶対にスタートを切らせてあげない性格の悪い指導者も多く、そんな指導者がいる教室に行ったら、災難としか言えない。
そもそも、学校には、生徒に、一生、音楽のスタートを切ることが出来ないようにさせる音楽教師が多いかもしれない。

コンピュータープログラミングに関して言えば、昔は、BASICインタープリターという、楽で便利なものがあったので、むしろ、プログラミングを始めやすかったが、今主流の、Python(パイソン)やJavaScript(ジャバスクリプト)は、初心者にも楽で便利な開発ツールがないので、プログラミングが出来る人が増えないのである。まあ、ここらは英語も同じであるが。
それなら、ExcelでVBAでプログラミングすることをお勧めする。
これほど、楽で便利なプログラミングツールはないし、すぐに実用になるという利点がある。JavaScriptやRythonで実際に役に立つことをするのはハードルが高い。特に、職業プログラマーになるわけでもなかったら、Excel(あるいはAccess)でのVBA以外、あまり考えられない。
また、小規模な業務システムであれば、JavaやVisualStudio(プログラミング言語は主にC#やVisualBasic)で作るより、Acccessで作るメリットが大きい場合が多い。
私は、いろいろな企業でVisualStudioなどで何か月もの時間とかなりの費用をかけてうまくいかなかったシステムをAccessで数日で試作品を作り、数週間で稼働させたことが何度もある。中には、Accessで試作品を作った後、C#で本番システムを作ろうとしたのだが、Accessでの試作品を使ったユーザーが「これでいい」と言って、少し手直ししただけで本番用にしてしまったこともある。

運動不足で肥満したり、健康度が落ちている人に、世間の人は、何でこんなに、苦しくて不便な運動をやらせようとするのか、あまりの愚かさに驚く。まあ、そんな者達をカモにして儲けたい連中も多そうだが。
私が、運動が苦手に人に勧める運動は2つ。
それは、「壁腕立て伏せ」と「超ショートスクワット」だ。
壁腕立て伏せは、普通の床でやる腕立て伏せを、壁でやるもので、壁に手をついて、腕を真っすぐ伸ばした分だけ離れて立ち、身体を真っすぐにして、顎が壁にかすかに触れる程度まで腕を曲げ、そこから腕を伸ばしてゆっくり元の姿勢に戻る。
非常に楽なはずなので、少なくとも100回、出来れば数百回行う。
超ショートスクワットは、自然に姿勢良く立ち、かかとをつけたまま、そして、上体を真っすぐに保ったまま、10センチ前後の振幅でスクワットを行う。
これも楽なので、最初でも30回以上、なるべく早く100回以上、そして、数百回以上行うようにする。普通の人なら全然楽勝のはずだ。
こんな簡単な運動でも、やるとやらないでは雲泥の差だ。

そして、学校の体育のようでないといけないという洗脳がないなら、腕振り運動と四股をお勧めする。
腕振り運動は『超訳甩手功(スワイショウ、うで振り)』という安価な電子書籍があるが、それに書かれた方法で間違いないと思う。
四股に関しては、相撲の四股のようではなく、足はせいぜい10センチ程度上げ、ゆっくりそっと降ろすようにやる。
書籍で言えば、『佐川幸義 神業の合気』の「第3章 佐川宗範の鍛錬術」の中の「四股(相撲の四股との比較)」が参考になる。
尚、腕振り運動や四股は、ここでは詳しくは述べないが、単なる健康体操ではなく、熱心にやれば超人化する可能性があるものだ。

学校やマスコミの洗脳のせいか、日本人は、辛いこと苦しいことでないと価値がないと思い、それを、出来るだけ短時間で済ませたがる。
しかし、本当の恵みを運んでくれるのは、楽に長時間やることだ。
雑草がアスファルトを突き抜けるように、清水が岩を穿(うが)つ(掘る)ように。
手塚治虫の『火の鳥 鳳凰編』の、細い水流で岩の彫刻を作る和尚さんのお話が面白かった。








般若心経の呪文でプログラミングをマスターする

プログラミングをプロレベルでマスターしたいという人も多いと思う。
資格なんか持ってるより就職し易いし、今の日本のIT業界はまだ職場環境が良いとは言えないが、社内SEになれば、いい想いが出来るし、営業しなくていいし(笑)。
私は、プログラミングをマスターしてから、いい想いばかりしている。
では、どうやってプログラミングをマスターしたのかというと、そりゃ、一所懸命に勉強したのだが(笑)、考えれば、楽しいことだった。
だが、不遇な状況にいる人に、プログラミングの習得を勧めたことはあるが、ほとんどの人が、渋々勉強した挙句、挫折したように思う。
では、私と彼らとの違いは何かというと、私の頭が良い・・・わけではない(笑)。その明確な証拠がある。
私より明らかに頭が良いのにプログラミングが出来るようにならなかった人がいた半面、言っては悪いが、私より頭が悪いのにプログラミングは上手い人もいるからだ。
そりゃ、高度な分野のプログラミングであれば、絶対的な頭の良さが要求されることもあるが、社内SEレベル、あるいは、小規模な業務システムレベルであれば、小学生に算数が教えられる程度の頭があれば良いと思う。
では、なぜ、私が何の苦労もなくプログラミングをマスター出来たかというと、もちろん、真言を唱えていたからだ。
唱えていた真言は何かというと、はっきり言える。
般若心経の呪文(真言と言って良いと思う)である。
中国語版、
「ギャテイ、ギャテイ、ハラギャテイ、ハラソウギャテイ、ボウジ、ソワカ」
と、サンスクリット語版、
「ガテー、ガテー、パーラガテー、パーラサンガテー、ボーディ、スヴァーハー」
を両方唱えたが、サンスクリット語版の方が気に入ったので、そちらを主に唱えた。だが、別にどちらでも同じである。

経緯はこうである。
私は、初めてまともなサラリーマンになった時の仕事は事務員だった(総務とか言っていたが)。
だが、オフィスでの近くの席だった技術課長が、私にプログラミングの勉強を勧めてくれた。
今では、その技術課長に大変に感謝している(ただ、この技術課長は非常に頭が良いのにプログラミングをマスター出来なかった)。
ところが、その時は、無視するわけではないが、聞き流した。
その頃、仏教学者の紀野一義氏の『「般若心経」を読む』を読み、般若心経の呪文には力があると感じた。
そして、決定的だったのが、天才発明家で能力開発のスペシャリストとして知られていた中山正和氏が、著書の中で、般若心経は能力開発の秘法であり、特に、その呪文が良いと書いていたことだった。
中山氏は、この呪文を唱えれば、運が良くなるだけでなく、頭も良くなると、科学的に説明してくれている。
そこで、私は、少なくとも、通勤中は、心の中で「ガテー、ガテー、・・・」となるべくずっと唱えていた。
夜、ベッドに入ってからも唱えていた。
すると、知らないうちに、プログラミングのテキストを次々購入し、自然に、ページを開くようになった。
テキストを読んで、何となく分かるような気がしたら、後は、自宅のパソコンで、テキストの通りにプログラムを打ち込んで動作を試すことを繰り返したが、これをIT業界では「写経」と言い、知っている人は、これこそが最短の学習法と分かっている。

以上、参考になればと思う。








プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんのファン
◆AI&教育blog:メディアの風
◆著書『楽しいAI体験から始める機械学習』(技術評論社)


当ブログは第1期ライブドア奨学生ブログです。
Kay Twitter Home

執筆のご依頼




最新コメント


月別アーカイブ
記事検索
ブログバナー&Mail


メールはこちらへ

PV since 2010/09/08
  • 今日:
  • 昨日:
  • 累計:

人気ランキング参加中
にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
にほんブログ村 メンタルヘルスブログ ひきこもりへ


タグクラウド
QRコード
QRコード