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

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

VBA

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

全振りの魔力

インターネットスラングである「全振り」は、元々はゲームから出た言葉らしいが、意味は普通に解釈出来る通り、「自分の持てる全て(資金、時間、情熱など)を特定の活動や目標に集中させること」である。

限られた能力しか持たない凡人でも、1つのことに集中すれば大きな力を発揮することが出来る。
しかし、日本では、中学や高校になっても、覚えもしない学科を万遍なくやらせ、結果、どれも満足に出来ず、さらに、一生を通じて全振りをやろうという心がなくなり、大きな力を発揮することなく凡人のまま終わる。
日本人の高校生で、物理学の天才がいたが、日本の受験制度では、他の科目に足を引っ張られ大学に合格出来ない。ところが、世界トップクラスの大学であるMIT(エムアイティー。マサチューセッツ工科大学)の物理学教授に面会したら、試験など無用で入学を許可され、しかも、大学院からでも良いと言われたという話がある。確か、MIT教授だった伊藤穣一氏の話だったと思うので、信用していいと思う。伊藤氏は高卒でMITメディアラボ所長、MIT教授になり、TEDでも講演している(後に慶応大学で論文学博士号取得)。

史上最高のプロレスラーと言われたルー・テーズは80歳の時に書いた自伝で「技を1つと言われたらダブルリストロック」と述べていて、彼も全振りの人だったことが分かる。
プロレスは格闘技ではないとも言われるが、陰謀渦巻く世界であり、何があるか分からず、いざという時は確実に敵を仕留める実力が必要という点では、少なくとも当時(1950~1960年代)は、本物の格闘技以上にシビアだったかもしれない。

プログラマーも、IQが非常に高ければ、多くのプログラム言語を同時に使い分けても良い仕事をするが、私のような普通以下の頭の者であれば、少なくとも一定期間は1つのプログラミング言語に徹しないと良いソフトを作ることは出来ないと思う。
それで私は、IQ110以下の凡人だがプログラミングが好きでプログラマーになりたいと言う者には、ExcelやAccessのVBAを徹底的にやることを勧めることが多い。つまり、VBAに全振りである。Pythonより、むしろ可能性が高いと思う。

投資も頭が良い人向きだが、善意の世界的投資家は、素人投資家に対しては、S&P500の投資信託だけを、何も考えず長く(10年20年と)コツコツと買い続けろと言う。素人がリスクを減らして勝つ可能性を高めるには、これしかないだろう。まあ、別にオルカンでも良いが、それだともう躓く頭の悪い者が少なくないのだろう。

引き寄せでも、悟りでも、沢山のメソッドをやる者は、ほぼうまくいかない。
(引き寄せと悟りはごく近く、片方をやれば、もう片方に到達する)
2つだと成功率は1/10になるという話もあるほどだ。
どのメソッドも、最初は(自我が関わる度合いが大きいうちは)欠点があるように感じるが、全振りすればどれも同じである。
お釈迦様も、頭が悪い修行者には「これだけやれ。他は絶対やるな」と言い、それが時代を経て念仏の教えになったのだと思われ、法然も親鸞も、「念仏以外は不要。私自身、念仏以外知らない」と、念仏全振りを徹底したのだ。
ラマナ・マハルシが、能力のなさを自覚する者に「これだけやれ」と教えたのが、心の中で「私、私」と言い続けることだった。

◆当記事と関連すると思われる書籍等のご案内◆
(1)鉄人ルー・テーズ自伝
(2)Excel VBA塾【動画✕本で学ぶ! 】 ~初心者OK! 仕事をマクロで自動化する12のレッスン
(3)Excel VBA 本格入門(大村あつし)
(4)Access VBA 実践マスターガイド
(5)マーフィー成功の法則100(渡部昇一)
(6)あるがままに 改訂版 ―ラマナ・マハルシの教え―
(7)テクノロジーが予測する未来(伊藤穣一)

快活な目覚め
AIアート2351
「快活な目覚め」
Kay

偽物の冴えた生き方

モグリの医者というものについて聞いたことがあるかもしれない。
この「モグリ」とは、「法を犯し、また許可を受けないで、仕事・商売などを行うこと。また、その人。」という意味だ。
ただ、モグリの医者など、小説等、フィクションの中にだけいるものと思っている人がいると思う。
しかし、希に、実際にモグリがバレて逮捕された医者らしき者の報道があるし、実のところ、私は、結構な身分の医者だが、「あの人、モグリだよ」と教えてもらったことがある。そう言った人は、別に、そのモグリという医者と敵対している人ではなく、その全く逆で、私にそんな嘘をついても、何の得もしない人だった。
モグリの医者と言っても、元々は本物の医者で、何か法を犯すことをして医師免許を剥奪されたという場合がほとんどと思う。
だから、モグリとはいえ、医療行為は能力的には可能で、腕が良い場合もある。私が知っていたモグリらしき医者がまさにそうだった。

ところが、医学教育など全く受けていないモグリの医者の実話があり、そのモグリの医者はアメリカ海軍の軍医を務め、手術も行ったが、医者としての評判は良かったらしい。
ある意味、大したものである。
けれども、大昔だろうが、法が医者を認定しなかった時代・・・早い話が、医者なんていなかった時代があり、ひょっとしたら、今でも未開の地域で、そんな所もあるかもしれない。
しかし、正式な医者というものが存在しなかった時代でも、民間療法というものがあり、民族の長い経験の中で、病気を治すノウハウが蓄えられていたものだった。そして、そんな状況下で、病気を治すのが上手い人がいて、そんな人が医者のように扱われたのだと思う。
そのような医者は、腕が全てであるし、誰に認定されたわけでもないことから、かえって自主的に調べ、考え、経験に学び、結果、良い医者になることもあったのだと思う。
また、現代でも、モグリの医者であるからこそ、それがバレないために、懸命に勉強したり腕を磨いたりで、上で述べた海軍の軍医のように、良い医者もいるかもしれない。

西尾維新氏の小説である、『化物語』から始まる「物語シリーズ」の中で、クセはあるが普通の人間を超越した、スーパーな3人の中年男女が、同じ大学に在籍していた時、「本物と偽物はどちらが上か?」という議論をしたという話がある。1人は「本物」、1人は「どちらとも言えない」で、最後の1人は「圧倒的に偽物」と答えた。
私も、全部がそうとは言えないが、本物に負けてはいけない理由を執念めいて持っている偽物が本物を圧倒することもあるのだと思う。
武道家でも、本物は師の教えが多くを占め、それに自分で工夫したものを付け加えるのだと思うが、偽物は、本来、師が教えてくれるような根本がない弱点はあるものの、良いものを貪欲に取り入れているうちに、案外、本物の武道家を超えることもあったと思う。

私も、システムエンジニアとしてはモグリの部類だ。
大学の専門の学部や、専門の学校で学んだことはないし、企業の研修を受けたこともない。
勉強しながら、勤めていた会社で実験と実践を同時にやったのだが、そんな人は、特に昔は結構多かったと思う。
私は、そこから、まずはベンチャーの開発会社に入り、そして、大手企業のシステム開発部門に入るという経緯で、あたかも情報科学の学位でもあるような顔で、大手を含む企業で講義や技術指導もしたし、アメリカの超一流大学で講師を務める話もあったくらいで、モグリの気分を満喫していた(笑)。
まあ、コンピューターの仕事に免許はないし、大学の先生にも免許はないので、全く何の問題もないのだが。
だから、私が本当にモグリであったわけではないが、本物と、モグリの偽物との間の利点欠点も分かるように思う。
まず、やはり、モグリは、より緊張感がある場合が多く、切羽詰まった真剣さのために、覚えが速く、また、上手くなることも多いのではないかと思う。
欠点としては、基本がないことだろう。その意味で、歴史や伝統がある分野では、蓄積された基本的ノウハウを効率的に学べる本物と張り合うのは、かなり厳しい場合もある。ただし、伝統に縛られない自由な発想が出来ることが良い場合もある。

法を犯すモグリは良くないが、モグリっぽい偽物として挑戦するのは面白いことが多い。
特に、プログラミング分野は、プロと同じツールが、ほとんどタダで使える良い時代で、本物も偽物もない。
特に、ExcelやAccessのVBAであれば、あなたも今日からモグリ・・・ではないが(笑)、偽物プログラマーになれる。
そして、偽物プログラマーは苦労も多いが楽しいものであると思う。








VBAはコスパが最高

必ずしもエンジニアになりたいわけではないが、コンピュータープログラミングをしたい。
そして、それは、単なる趣味ではなく、実益を得たい。
それであれば、私が勧めるものは、Excel VBA一択である。
なぜかというと、Excdel VBAは十分、本格的で、中程度レベルのプログラミングは全て出来る上、Excelの素晴らしい機能を自在に使えるからだ。
一般の人なら、プログラミングは中程度レベルが出来れば十分で、はっきり言って、職業プログラマーでも、中程度までちゃんとプログラミングが出来る人は多くない。よって、Excel VBAがしっかり出来れば、日本に限れば、職業プログラマの半分は抜ける。
そして、Excelの、長年に渡って世界中で使われることで徹底的に磨き抜かれた機能は、他のプログラミング言語で実現しようと思ったら、出来るとしても、複雑になってしまうが、Excel VBAなら、シンプルに出来てしまう。
そういえば、プログラミングに「オブジェクト指向」という、何だか専門っぽくて格好良い(笑)言葉があるだろう。
しかし、それが何か、本当に分かっている人は、職業プログラマでも、あまりいない。
だが、Excelの機能をVBAで使うことは、それだけでオブジェクト指向プログラミングなのである。
つまり、VBAプログラミングの中で、Excelの機能を封じ込めたオブジェクト(実に沢山ある)を使えば(簡単に使える)、もうオブジェクト指向でプログラミングしているのである。

「VBAはプロが使うものじゃない」と言う人がいるようだ。
嘘である。私が使っているし、VBAを好んで使うプロもいる。
能力が高いプロが使えば、JavaもVBAも優れた処理を行うソフトウェアを構成させることが出来る。
プロが好んでVBAを使う場合には、それが、ユーザーに最大の利益を与えるからであることが多い。他のプログラミング言語では望めないことが沢山あるのだ。
例えば、ユーザーが慣れたExcel上で、高度なデータ処理プログラムを使えるメリットは実に大きい。
私は、ユーザーのシステムを見て、JavaではなくVBAを使っていれば、ユーザーの利益は十倍だったのにと思うことは多い(その逆も確かにあるが)。

そして、エンジニアでない人がVBA以外を使っても、ほぼ利益はない。
HTMLすら、ほとんどの場合、素人が使っても、ロクなものは作れないが、VBAなら、素晴らしい利益が得られることも多い。

だから、特にITエンジニアになりたいというわけではない人には、迷うことなくVBAをお勧めする。
また、コンサルティングや業務分析、業務企画等の能力と組み合わせれば、プロで通用する。
VBAは古い?
確かに最新ではない。しかし、それで何か困ることは、まずない。むしろ、最新のプログラミング言語の奇妙な特性で困ることの方が多い気がする。
それに、COBOLやFortran等に比べればはるかに新しいが、COBOLやFortranだって、現在も実用に何の問題もない。

このようなわけで、私は、普通は、Excel + VBAを勧めるが、Acccess + VBAはさらに良いと思うのだ。
データ処理の規模や適応性が飛躍的に上がるからだ。
Accessのデータベース機能だけでも、Excelの数十倍の能力があると思うが、Accessと、マイクロソフトの大規模データベースシステムであるSQL Serverの相性は良く、簡単にくっつけて使えるが、それであれば、大きな規模のシステムも、Accessで出来てしまう。
しかも、無償のSQL ServerであるExpress版でも、相当なことが出来てしまうのである。
私は、ある企業の、年商30憶円規模の部門の主要システム(ネットワークシステム)をSQL Server Expressに入れたことがあるが、余裕で入ってしまった。
また、AIの機械学習のデータを作るのに、Accessほど効率の良いツールはないと思うし、個人的な考え方では、Accessは使いこなしさえすれば、BIツールとしても最強であると思う。
ただ、Accessを効果的に使うには、データベースに関する理解とセンスが必要になるので、少しは勉強しなければならないが、そのメリットは大きいだろう。

ExcelやAccessの機能から考え、値段の安さは奇跡的だ。
共に、2万円以下で永久ライセンスが買える。
恐ろしい(笑)。ライバルは絶対に現れない。真似が出来るはずがない。
Accessなら、100万円(あるいは、月10万円)でもおかしくはないと思う。実行版(いわゆるランタイム)は無料なのだから、もっと高く見積もっても良いと思う。
実際、Accessのランタイムを100台以上のPCにインストールして使っている中規模の会社を知っているが、もし1台のランタイムが年5万円なら、毎年500万円以上必要だが、これが無料なのだ。

ご参考に。








頭を良くする簡単な方法

天は人の上に人を作らずと言うが、現実的には、人間の能力には差があり、その中でも重要な頭の良さにも明確な差がある。
これもまた、現実の話として、公立の中学では、頭の良さが極端に違う者同士が、同じ教室、あるいは、隣の席にいたりする。
ただ、中学校では、頭が特に良い者にとっても、頭が悪い者が邪魔になることはあまりなく、その頭の良い者がよほど性格の悪い人間でない限り、頭が悪くて何ごとも上手く出来なくて困っている者がいたら、助けることが多いと思う。
高校や大学以上では、それほど極端に頭の良さに差がある者と関わることは少ないと思う。
だが、社会人になると、超大企業の場合は少ないかもしれないが、頭の良さがかなり異なる者が、同じ部署、あるいは、他の部署や取引先の関わり合う人間にいたりする。
そして、頭の良い者にとっては、頭の悪い者に足を引っ張られたりするうちに、頭が悪い者に嫌悪感を持つようになることがある。
ここらが、頭が悪い者がいても、利害関係があまりない中学の時と違うところだ。

自分のことは、とりあえず棚に上げるが、会社の中で、「こいつ本当に馬鹿だな」と思った人は確かに少なからずいる。
ただ、その者が本質的に・・・つまり、生まれつき頭が悪いのかというと、そんな場合もあるのかもしれないが、あまり多くないと思うのだ。
その理由は、「こいつ、頭が悪いな」とうんざりさせられるような者でも、何かの時に、妙に鋭かったり、物覚えが良かったりということがあって「あれっ」と驚くことがよくあったからだ。
「こいつ馬鹿だと思っていたけど、実は頭悪くないんじゃね?」
とか思うが、それでも、仕事で関わると、「アホにもほどがある」と思うのである。
だが、やはり、馬鹿に見えても、ほとんどの者は、本質ではかなり優秀なのだ。
それなのに、なぜ馬鹿なのかというと、家庭や学校で、頭を使えないように、あるいは、間違った頭の使い方をするように教育されているからとしか思えない。

有名な映画監督だった伊丹十三氏が、心理学者の岸田秀氏の本を読んだ時のこんな感想を語っていた。
「自分が、かぶせられた帽子を外されたカブトムシのように感じた」
つまり、自分の能力を封印していたものから解放されたということである。
まあ、誰もが、岸田氏の本を読んだらそうなるとは限らないが、我々は、学校やテレビなどで付けられた、能力の見えない手枷足枷を壊さなければならないことは確かだ。

その方法をクドクド説明せず、シンプルに言う。
1つは、仏・菩薩の真言を淡々となるべく多く唱える。例えば、観世音菩薩真言なら「オン、アロリキャ、ソワカ」だ。これを唱えると良い。有声、無声どちらでも良いが、無声をお勧めする。
1つは、少し温度が高い蒸しタオル(熱いと感じるほど温度が高くてもいけない。適度に絞った濡れタオルを1/6程度にたたみ、電子レンジで600W1分30秒加熱する)を、後頭部の下の方に5分当てる。
そして、プログラミングをやったことがなければ、Excel VBAか、Access VBAを練習して欲しい。マスターするごとに頭が良くなるから。
そうすれば、さらに良いことに、社員募集面接で「Exce VBA、滅茶苦茶出来ます」「Access VBA、滅茶苦茶出来ます」と言ったら、良い条件で採用されるだろう。頭が良くなっているので、仕事も出来るはずである。
尚、一応言っておくと、頭が良過ぎると、普通の職場では仕事がうまくいかず、辛いことになる可能性があるので、自分がそうだと思ったら、就職せず、個人事業をやることだ。








スペシャリストを目指せ

ある有名な歌手が、40歳を過ぎた時に行き詰まり、二進(にっち)も三進(さっち)もいかない状態で、歌手を止めて、別のことをしようと思ったらしい。
しかし、思いとどまり、歌手を続けた。
思いとどまった理由はこうだ。
「どこの世界でも、20年、30年とやっている人達がいて、新しく始めた自分が、そんな人達にかなうはずがない」
何かの道を長く続けている者なら分かることだと思う。
長く積み上げてきた経験に優るものはない。
そりゃ、自分がやってきたことがもう古く、その仕事が、遠くなく消えてなくなる運命である場合や、自分がやっている仕事が簡単な仕事で、短期間で十分なレベルになれる場合は別だ。

大きな会社では、新入社員は、自分がどの部署に回されるか、分からないという場合が多い。
学校を出たばかりの学生は、まだ真っ白なので、何に向いているかを会社が判断してあげようとか、いろいろな部署に入り、いろいろな仕事を経験することで幅広い人間にしようというのだろうが、もうとんでもない話である。
大学どころか、高校を卒業したら、自分が何に向いているかなど自分で分かるはずだし、そもそも、会社に人間の適正の判断は難しい(事実上、不可能)し、はなから、社員の適正を見極めるのではなく、会社にとって都合が良さそうな部署に配置させることがほとんどだ。
また、あちこちの部署を経験させるのは、あくまで、その会社のことをよく理解させるためであり、どこの会社でも通用するような実力をつけさせるためではない。会社の意図かどうかはともかく、結果として、その会社でしか使えない能力しか得られない。
そんな会社でうまく出世して部長になっても、リストラされたり、会社が倒産すると、転職の際、「あなたは何が出来ますか?」と尋ねられたら、「部長が出来ます」といったような笑うしかない答しか出来なくなる。部長は仕事の名称ではなく、「部長が出来る」を正確に言えば、「前の会社の部長が出来る」ということであり、別の会社では平社員の仕事も出来ないのである。
営業をやってたと言っても、営業のやり方は会社によって違う。
また、営業という仕事には専門性がない場合が多く、一般的には、営業の仕事には就かない方が良い(もちろん、特殊な専門性が生きる営業は別だが)。
経営者だって、高い専門性を持っている場合が圧倒的である。

長くやればやるほどスキルが上がり、20年30年とやれば、誰にも負けない確固としたものを持てる仕事を選ぶべきだろう。
ただし、日本では、学校から会社まで、庶民は代替可能なロボット人間として育てるので、専門性のある生き方をしようと思うと、学校や会社(あるいは社会)を否定しなくてはならない場合が多い。それが出来ない者が、「私は何に向いているのだろう?」とか「私が進むべき道は何だろう?」ということが分からず、特に何も出来ないサラリーマンになってしまうのである。
私の場合、初めから学校や社会を否定していたので、プログラマーになるのは簡単だった。
しかし、ソフト開発以外のことについてはあまり知らないし、そもそも、自分でやったことのないことを本当に知ることは出来ない。

プログラマーになるなら、30歳くらいまでなら、JavaやPHPといった最も仕事の多いプログラミング言語や、PythonやJavaScriptといった最も将来性があるプログラミング言語を何か1つ、少なくとも、入門書レベルなら完璧にしておけば、開発会社に入れてもらえるので、そこで経験を積めば大丈夫である。
30代後半以上であれば、Excelマクロ(VBAプログラミング)が出来れば、会社の仕事を、それで自動化させれば頭角を表せるし、Excelを使わない会社はないので、転職の際、「ExcelとExcelマクロ、滅茶苦茶出来ます」と言ったことで採用されたら(採用される可能性が高い)、良い状況になるだろう。
「うちはExcelは使わず、別のツールを使ってますが、それをやってくれますか?」
と言われたら、もう既にExcelで十分な経験がある場合を除き、止めた方が良いと思う。まずは、どこでも通用する知識が大切だからだ。
尚、Excelマクロではなく、Accessマクロ(Access+VBA)なら、SQL Serverと組み合わせれば、そこそこの会社なら基幹システムでも作れ、システムの拡張修正も早く出来る。
そこで、Accessマクロを作ることが出来るなら、開発会社に入るより、システムを社内開発する会社の開発部署に入る方が良いかもしれない。社内開発をAccessでやっている会社は合理性が高い場合が多い。
社内でシステムを開発出来るメリットは多く、アメリカでは、かなり多くの会社が、システムを自社開発しているのは、それに合理性があるからだ。社内SE(システムエンジニア)の能力は、他社でも十分に通用する。








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


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

執筆のご依頼

最新コメント


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


メールはこちらへ

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

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