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

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

プログラミング学習

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

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

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

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

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








ネイビーシールズの腕立て伏せから全てを学ぶ

アメリカ海軍特殊部隊ネイビーシールズの名を知っている人は多いと思う。
最も過酷で危険な任務を行う特殊部隊で、海軍に所属してはいるが、シールズ(SEALs)という言葉が、SEがSEA(海)、AがAIR(空)、LがLAND(陸)を意味し、「どこでも活動する」部隊である。
入隊試験の厳しさも想像を絶し、全米の肉体も頭脳も優秀な若者達が志願するが、8割以上が脱落する。

そのネイビーシールズで教官をい務める者による、腕立て伏せを指導するYouTube動画を見た。
どんな立場の人が投稿したのか分からないが、とりあえず、リンクは以下の通りだ。
【YouTube】筋トレ:腕立て伏せで、対コロ特殊戦に備えよう(ネイビーシールズ)

実際の指導に入る前に、この教官がこう言ったのに共感した。
「諸君の多くは、できるだけ早くことを済まそうとする」(動画内の翻訳字幕)
これこそが、多くの人がうまくいかない理由で、これは、腕立て伏せで腕力をつけることに当てはまるだけでなく、ほとんど全てのことにあてはまるのだ。
腕立て伏せにおいては、多くの者が、鍛えることよりも、出来るだけ楽に回数を稼ごうとし、結果、少しの成果しか得られないのである。

「簡単」「手軽」が日本を含む先進国のトレンドだ。
ダイエットにおいては「3分で痩せる」「これを飲むだけで痩せる」といったものが好まれる・・・というより、そんなものしか見向きもされないが、そんなものは存在するはずがない。
つまり、私の考えでは、そんな甘言で気を引こうとする者は詐欺師でしかない。
著名なコンピューター科学者のピーター・ノーヴィグが、こんなことを自分のブログに書いている。

Amazonで「日」「学ぶ」で検索したら、出て来たのは、ほとんどがコンピューター関連の本で、書名は、
『7日で学ぶJava』だの『3日で学ぶPascal』(Pascalは以前は人気があったプログラミング言語)
といったものだ。
この結果に対し、ノーヴィグは「数日で学ぶベートーヴェンや量子力学や犬の調教って本はないのに、コンピュータープログラミングを学ぶのは、信じられないくらい易しいらしい」と皮肉を言う。
ノーヴィグが考える「プログラミングをマスターした」というレベルに到達するには、ノーヴィグは10年かかると言う。
彼の考えるレベルは確かに非常に高いだろうが、それでも、3日や7日では何も出来ないことは確かだ。

実際、プログラミングをマスター出来ない人というのは、プログラミングを、せいぜい、「なんとか食べられるクッキーを作る」程度の難易度と期待しているのだと思う。
なんと言っても、本当に『3日でマスター!Python』なんて本は多いのだ。
私は、あまり賢い方ではないが、「初心者向き」と言われたBASIC言語を、そこそこに使えるようになるまで数ヵ月かかったし、そこからC言語を勉強し始め、通勤電車の中でテキストを20ページ読むことをノルマとし、毎晩、3時近くまでパソコンで練習し、それを1日も欠かさず継続した。
それで、数ヵ月で「少しは書ける」程度になり、多分、C言語でプロと言えるほどになるのに3年はかかったと思う。
マイクロソフトAccessとVBA言語で、大きなシステムを作ることが出来るようになるのにも、やはり、数年はかかっている。
これは、どんな言語をやっても同じようなものだったはずだ。
以前いた職場で、私がAccessとVBAで、業務を大いに効率化するシステムを楽々作るのを見て、「自分もやりたい」という人がいたのは良いことだったが、皆、私と同レベルになるのに、まさか一か月以上かかるとは思っていなかったようだ。

私が最近、熱烈にお勧めしている、魔法の力をもたらす真言についても同じなのである。
毎日、せいざい10回か20回唱えて、数日で、給料が上がったり、皆に敬われたり、モテモテになることを期待している人は多いのだと思う。
また、真言こそ、雑に唱えてはならず、かといって、お堅いお坊様やスピリチュアリストが書籍やYouTubeで言うような大仰なマナーも必要ないが、丁寧に唱える必要があり、それなりに時間がかかる。
そんな唱え方で、心構えとしては四六時中唱える気持ちで、出来るだけ多く唱えれば、いかなる奇跡だってごく現実的だ。

私は楽なことしかやらないし、人にも楽なことしか勧めないのだが、あまりに甘ったれた、子供っぽい考え方をしている者も実際にいて、それはもう私の手には負えない。
もちろん、そんな人でも、真言を唱えれば、唱えた分の恵みはある。
だから、元々は、そんなふうに超甘ったれた私でも、なんとかモノになったのであり、それには、努力、忍耐、克己など必要としなかった。
ただ、確かに、私は『3日で学ぶC言語』みたいな本は見なかった。
これが、真言を唱えていたことの、仏様の恵みかもしれない。
とにかく、丁寧に出来るだけ数多く真言を唱えれば良いのだと思うし、私も、それ以外はやる気はない。
そこで、上にご紹介した、ネイビーシールズの教官の腕立て伏せを実施し、「丁寧に」やることを、再度、思い出そうと思う。

時間をかけることの大切さを私が感じた書籍を以下にご紹介する。








誰だってどんなことでも名人になれる

最近は、70代以上の人が「普通」にスマートフォンを使っている。
通話はもちろんだが、カメラ機能やLINEも、当たり前のように使っている。
それは10年近く前なら想像し難いことだったが、今のスマートフォンの使い方が、昔と比べてそれほど簡単になった訳ではない。
それに、老人達は、かなり高度に使いこなし、やっていることは、若者と全く変わらない。
なぜ、そうなったかというと、「使うことを決意」し、「時間をかけた」だけである。

一方で、老人は、今もパソコンを使える人は、あまりいない。
その理由も同じで、パソコンを使うことを決意しなかったし、時間もかけていないからだ。
つまり、もし、老人が、パソコンを使うことを決意し、時間をかければ、やはり楽々使えるのである。

実は、今は、若者がパソコンを使えなくなっている。
企業では、新入社員にパソコンの使い方の研修をするのが、当たり前になっている。
高校生や大学生が、パソコンを使わなくてもスマートフォンで事足りるので、パソコンを使う動機がなく(だから使う決意をしない)、よってパソコンに時間をかけないのだから、使えなくて当たり前だ。

ピアノもヴァイオリンも数学もスケートボードも、その他のいかなることも、やろうと決意し、時間をかければ誰でも出来る。
ところが、学校とかピアノ教室などでは、決意もしていない生徒にそれらをやらせようとしたり、短時間で詰め込もうとするから出来ない生徒がいるだけである。
「ピアノを厳しく指導する」というのも、単に、「短時間で教えようとしている」だけなのである。
指導者が、短時間で出来るようになることが美徳であるように思っていたり、特にそうではなくても、親が子供に沢山のことをやらせようとしたら、1つのことに時間をかけられないのでうまくいかないだけである。
アインシュタインだって、子供の時、ヴァイオリンを習ったが弾けるようにならず、勉強も全然出来なかったが、1人で時間をかけてヴァイオリンをやれば、かなりうまく弾けるようになったし、科学が得意になったのは良い教師に巡り合ったからだと言われているが、単に、高校を出て暇になったので(予備校に行っていた)、時間をかけて科学の勉強をしたに過ぎない。実際、アインシュタインが「予備校であの先生に出会えて科学が分かるようになった」と言った教師に後で聞いたら、その教師はアインシュタインのことを覚えていなかった。これは、その教師が、短時間で詰め込もうとしなかったので(単に、やる気のない教師だったからかもしれない)、アインシュタインが時間をかけてゆっくり勉強出来ただけのことであると思う。

私は昔、事務員と言うよりは雑用係みたいなことをしながらコンピュータープログラミングをマスターし、プログラマー、システムエンジニアになったが、なぜ、そんなことが出来たかというと、単に、雑用係をやっていた頃、暇だったからだ。友達も彼女もいなかったこと、趣味もほとんどなかったことが大きい。それらは時間をとられるので、もし、そんなものに時間をかける「リア充」であったなら、おそらく、プログラミングが出来るようにはなっていなかったと思う。

だから、プログラミングをマスターしたければ、まず「プログラミングを出来るようになる」と決意し(軽く決意すれば良い)、とにかく、時間をかけることだ。
書籍の売り文句のように「3日でマスター」なんて馬鹿なことを考えない方が良い。
プログラミングにしろ、料理にしろ、世の中で価値あることで、3日で出来るようになることなどない。
のんびり、ゆるくやれば良いのである。
そうすれば、時間なんて勝手に流れる。やってさえいれば、時間が味方し、気がついたら出来るようになっているのだ。
私は、決して、短時間でプログラミングをマスターしてなどいない。
少しも厳しくはなかったが、時間だけはとんでもなくかけていたのである。
チームラボの猪子寿之社長が、現在ドワンゴ社長である夏野剛氏と対談した『大企業の時代は終わったか』で、イチローが成功したのは、単に、誰よりも野球に時間をかけたからで、別に才能の問題じゃないと説得力を持って言われていた。他にも沢山の示唆を得られるので、100円の電子書籍だから読むと良い。

引き寄せとか魔法や超能力も同じで、人間には、元々、そんな能力があるのであり、それを出来るようになるには、才能やら秘法的訓練が必要なのではなく、時間をかければ誰でも、いくらでも高度に出来るようになる。
私も、幼い頃、魔法にひたすら時間をかけ、おかげで、他の子が出来ることは何も出来ず、怒られてばかりで辛かったことを覚えている(笑)。
しかし、不思議なことは当たり前に出来るようになったのである。
定評ある本を時間をかけて読み、実践すれば良いだけである。そして、それらはやることは楽なので、本当に楽々出来るようになるはずなのだ。








プログラミング等のスキルを努力なしに得る

難しいものも含め、何かのスキルを身に付けること、あるいは、資格の取得、受験の合格も、最大の効率で行うコツは、皆、同じだ。
それは、気分良くやることだ。
逆に言えば、気分良くやれないなら、やらずに済むならやらないことを、強くお薦めする。
いや、はっきり言って、気分良くやれないことはすべきでないと思う。

英語教育業界(官民含め)の宣伝では、「これからの国際社会で英語は必須」なんて大嘘を昔から言っているが、英語をやって気分が良くないなら、やらない方が良いだろう。
どうしてもやるなら、自分の責任で、気分良く取り組むべきである。
でないと、時間と金の無駄になる。
(尚、日本が衰退する中で、英語業界の思惑とは全く関係ない理由で、英語や中国語の重要性は確かに上がっている。)

この宇宙は、気分が良いと、さらに気分が良くなることが起き、気分が悪いと、さらに気分が悪くなることが起こるようになっている。
絶対的にね。それは、歴史的、経験的に確かだが、今や、科学的にも解明されようとしている。
そして、何かの勉強や訓練をする時、それが実を結んだ際に心が躍るほどの気分の良さが得られそうもなかったり、勉強や訓練が、努力と感じて気分が良くないものなら、果たして、自分のためになるかどうか疑問である。
これからの新しい時代においては、「楽しくなければ、勉強や訓練ではない」のである。
いや、本当は、大昔から、そう主張していた賢い人はいたのだが、権力者や支配者には都合が悪いので、庶民には、そうさせなかっただけである。
上層の人間にとって、庶民は、奴隷のスキルを磨いてくれれば良いのだからである。
しかし、そんな時代は、いい加減、終わらせたい。

例えば、プログラミングの勉強も、気分良く出来るかどうかだけが問題である。
IQテストでも標準の頭脳である私が、全く努力せずにプログラミングをマスター出来たのも、気分良くやっていたからに他ならない。
確かに、修行中(この言い方も止めた方が良いが)、私は、毎日のように、プログラミングの本を買い、深夜の2時過ぎまでパソコンに向かっていたが、それが単に、面白かったからである。
ただ、私の場合、たまに気分良くやれないこともあったので、時間がかかったり、スキルがなかなか高くならなかったりしたのだ。
では、どうすれば、プログラミングの勉強が楽しくなるか?
それは、実際はそうでなくても、プログラミングを既にマスターしていると思い、その気分の良さを感じれば良いだけだ。
プログラミングを深くマスターしたことで、周囲から丁重に扱われ、好きな仕事を、誰にも指図されず、自信たっぷりに楽しくやれる愉快さを先に感じるのだ。
それで気分が良くなれば、その状況が当然のように現れるのである。
『ザ・シークレット』のDVDで、信頼を感じさせる教師の1人が、こう述べていた。
「自分は既に豊かだ、健康だと思って良いのです。たとえ、実際にはそうでなくても」
それで気分が良くなれば、ほどなく、自分が願っている通りになるだろうが、逆に、気分を良く出来ず、今が貧しいからとか、病気だからと悪い気分でいれば、なかなか良い状況にはならないだろう。













当ブログ著者、KayのAI書。
実用的なAIを作るために、最も大切なことは、AIのセンスです。
AIのセンスとは、問題を、推測問題に捉え直し、データを整えることです。そのためには、数学も、プログラミングも、難しいAI理論も不要です。
必要なものは、Excelが使える程度のスキルです。
また、この本では、類書に見られる、無味乾燥で退屈なテーマではなく、「モンティ・ホール問題」(クイズ番組で行われた簡単なゲームだが意外性があって面白い)を始め、なるべく楽しいテーマを採用しました。
人間には、なかなか解決出来ない問題を、実際にAIに解かせることで、簡単にAIの威力を実感出来、そして、自分にもAIが作れることが解ると思います。
本書の、ほぼ全ての実習が出来るデータを作ることが出来るExcelマクロ(VBAプログラム)を、出版社サイトから無料でダウンロード出来ます。

秘伝のプログラミング習得法

もし、私がカウンセリングを行う場合。
私が分かる範囲で言えば、例えば、
「プログラマーやシステムエンジニアになりたい」
「ニートなので就職したい。その場合に有利になるスキルを得たい」
「働いてはいるが特技がない。ITスキルを得て、その方面の職場に変わりたい、あるいは、そのスキルを生かした仕事をしたい」
あたりなら、十分にアドバイスが出来ると思うが、本来、そんなこと、人に聞いても仕方がないことだ。

スキルが欲しければ、勉強すれば良い。
だが、皆、学校で変な勉強の仕方を教えられて・・・というより、勉強の仕方が分からないようにさせられているのだと思う。
勉強というのは、1日中やるものだが、そう言うと、「そんなことは出来ない」と言う。
どうも、勉強や訓練や修行と言うと、大昔なら『巨人の星』、今なら、『鬼滅の刃』のように、いつも力み、緊張し、一心不乱に、ぶっ倒れるまでやる・・・みたいな阿呆なイメージがあるのだと思う。
そんなもん、怠け者の私なら5秒くらいしか出来ない。
だが、「ちゃんとした勉強」なら、私でも1日中出来る。
それ(正しい勉強法)は、「そのことについて意識する」ことである。

例えば、Excelなどに搭載されているVBA言語をマスターするなら、まず、本を1冊買う。今は、沢山の優秀な人が、競って良いテキストを書いているので、ハズレはない。
それで、本を眺めていたら、なんとなく、ぼんやりとした雰囲気が伝わってくるだろう。
最初から終わりまでパラパラと見たり、適当に真ん中あたりとかをぱっと開いて、そこをじっと見る。
すると、心が反応するかもしれないし、しないかもしれない。
気が向いたら、文を読んでも良い。やってはいけないことは何もないし、やるべきことも何もない。
後は、スマートフォン並にいつも本を携帯し・・・あるいは、スマホに電子書籍を入れ、出来るだけ多く本を開くことだ。
無料のネット講座や、YouTubeの講座を見つけて、それを眺めても良い。

また、本当にマスターしたいと思っていたら、パソコンでやってみたいはずだから、本に書いてあるプログラムをタイプしてみれば良い。
Excel VBAの場合、プログラムを書くためには、Excelに簡単な設定をしなければならないが、そんなことは、本を見たり、検索すればすぐ分かる。なかなか分からないとしても、とにかく調べれば分かることだから調べる。そんなことまで教室で、あるいは、誰かに教わろうなんて根性が一番良くない。

もし、VBAが出来る人が身近にいれば、プログラミングしているところを眺めさせてもらえば良い。それがまた効くんだ。
私がかつていた職場では、私しか出来ないことで、他の人も興味を持っていたことがあったはずなのに、なぜか、私がやっていることを見に来る人がいなかった。彼らはみんなリストラされている。まあ、嫌われていたのかもしれないが(笑)。
良いプログラムをそのまま書き写すことを、IT業界では「写経」と呼んでいるが(本来の「写経」はお経を模写すること)、「写経」の威力は、優秀な人ほど認めている。
私など、写経だけで覚えたプログラミング言語が多い・・・というか、実質、勉強は写経だけだったような気もする。

上に挙げたようなことを、1日中、起きている間、ずっとするのである。
まあ、アニメ見ながらプログラムのことを考えるのも、やっている範囲に含めて良いが(笑)。
実際、プログラミングの訓練を意識していれば、ゲームも運動も食事もプログラミングの訓練になる。
しかし、なるべく、本を開くか、タイプする方が良い。

問題は、「私に本当にプログラミングが出来るようになるのだろうか?」という想いを起こさないことだ。
それに関しては、心をよく見張っていなければならない。
そんな弱気が起こったら、3つの武器を使う。
すなわち、笑顔とガッツポーズと「絶好調」とか「大丈夫」などの口癖(あるいは呪文)だ。
良かったら、引き寄せの本を1冊読むか(それもプログラミングの勉強に入れても良い)、オーディオCD付の引き寄せの本を買って、それを聞き、心を肯定的にすることだ。
引き寄せは、目で読むより、耳で聞いた方が効果があるという説もあるようだ。













当ブログ著者、KayのAI書。
Excelを使うスキルがあり、数学やプログラミングは駄目だが、実用AIを自分で作れるようになりたい方に、特にお薦めします。
また、深層学習フレームワークとPythonでAIを作る本に挫折した人、あるいは、自分でAIを作れるようにならなかった人にも。
普通の概念で分かる問題でAIツールの使い方を習得し、面白い問題にAIで取り組むことで、自分で実践的なAiを作るセンスを得られるよう工夫しました。
プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんのファン
◆AI&教育blog:メディアの風
◆著書『楽しいAI体験から始める機械学習』(技術評論社)


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

執筆のご依頼




最新コメント


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


メールはこちらへ

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

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


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