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

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

プログラミング言語

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

本当に考えることができれば、あまり行動せずに済む

著名な思想家の吉本隆明さんは、強い引きこもり気質であるなら、誰とも会わずにできる仕事を探すしかないと著書に書かれていたと思うが、そんな仕事などあるはずがないと思っていた。
しかし、そうでもないかもしれない。
ただし、そんな仕事は、探すというよりは作るものだし、そのためには、本当に考えるということをしなければならない。
ほとんどの人は、それほど本気でものを考えたことはないし、考えるとはどういうことかを知りもしないのだ。
「考えるだけでは駄目だ」とよく言う。
それはそうだが、真に考えることができるなら、行動は僅かでよくなる。
どんなにものぐさだったり、引っ込み思案な人間だろうが、この程度ならできるというところまで考えることだってできる。
もっとも、「この程度」でも、最初は少し大変かもしれないが、無理はないのだから、すぐに慣れるだろう。

力のある思考というのは、世間の教義や信念を超えたものだ。
普通の人が言うところの「考える」とは、似ても似つかないことだ。
ただの人は、考えていると思っていても、同じところをぐるぐる回っているに過ぎない。
感情を滅入らせることを考えることだと勘違いしている人もひどく多い。
そもそも、気分が重くなるなら、それは考えていないってことだ。
考えれば、ほんの少しかもしれないが、前に進むのだから、たとえ僅かでも気分が良くならなければ嘘だ。

ほとんどの人は、考え方を知らないのだ。
考える方法を知りたければ、コンピュータープログラミングを学ぶことだ。
優れた数学教育者で科学者であったシーモア・パパートは、心理学者達が、プログラミングを覚えるたびに、ぐんぐん頭が良くなるのを見て、これは子供達にやらせないといけないと思ったのだ。
そして、プログラミングを正しく学んだ子供達は、本来の知性を引き出し、なんでもできるようになった。
あなたも、プログラミングの本をいつも持ち歩き、いつでも開き、少なくとも見なければならない。
じっと見ていれば、潜在意識が勝手に理解してくれる。
本が語りかけてくれるようになる。
どんなプログラミング言語が良いかというと、実を言えば、何でも同じだ。
私なら、すぐに実用になって、給料も高くできる、ExcelやAccessのVBAをお薦めするが、好きなものを選んで構わない。
最も頭が良くなるのはLispやPrologかもしれないし、これらが実用にならないという訳ではないが、まずは、他のプログラミング言語を何か憶えてからでも良いと思う。
プログラミングをマスターすれば、「条件判断による分岐」「ループと脱出条件」「機能の分割と独立」「本筋と例外の選り分け」「値による経過の確認」などといった、プログラミングの強力な概念を使って、普通の人の数十倍の効率で考えるようになる。
そうすれば、ずっと以前はできないと思えたことも、簡単にできるようになる。
まずは、プログラミングを学んで、優れた考え方を身に付け、そして、真剣に考えてみると良い。
すると、思考はどんどん深まり、やがて、心の内にある神秘的な叡智と接触することになる。
それは人間の思考というものとはまるで比較にならない、全くレベルの異なったものだ。
その偉大な思考エネルギーは、いかなる物理的な力や行動よりも強力であり、つまるところ、世界は思考で出来ていることが分かると思う。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

人生に必要な自信をどう育てるか

小学生の頃までは、特に人生で初めて行うようなことが沢山ある。
絵を描くことだけなら、初めて描いた時のことはもう憶えていないかもしれないが、初めて色鉛筆で描くとか、初めて絵の具で描くとかは、ある程度、思考力が発達してからのことが多いと思う。
初めてペーパーテストを受けたり、初めて跳び箱を飛んだり、走り高跳びをやったり、一人でお使いに行ったりと、いろいろな「初めて」がある。
そんな全ての初めてが人生に大きな影響を与えるに違いない。

そして、初めて何かをやる時、自分はそれをうまくやれるという態度を取れること、ちゃんとできるはずだという気持ちを持てることが大切であるはずだ。
できるという自信を持って取り組む子はうまくいくが、自信がなく、こわごわやる子は良くない結果になることが多いだろう。
自信がある子は、たとえ最初少し失敗しても、そんなことは気にせず、「うまくいくまで諦めない」。
改めて考えると、子供が初めて何かをやる時の、親や教師のあり方のなんと重要なことだろうと思う。
よく、「誉めて育てる」とか言うが、もう大きくなっていたり、まして、大人になっている相手にはほとんど何の意味もない。
子供の時、初めて何かをする時、最初に少し失敗があっても、「気にしなくていいよ」「もう一度やってみよう」「なかなか良かったよ。次は大丈夫」と励まし、うまくいった時に誉めてやればその子は自信を持ち、次のチャレンジにも意欲的、積極的になる。
ところが、子供が失敗すると、冷たく貶(けな)したり、笑い冷やかし、挙句、怒ったり、馬鹿呼ばわりして子供を戸惑わせ、恐怖を感じさせてしまう馬鹿な親が多いのである。
劣等感が強過ぎて、自分の子供ですら、うまくやれないと嬉しがる親や、子供に対して支配欲が強く、ずっと子供を自分の奴隷にしておきたい親がそうである。子供に自信がなければ、その子は一生、自分に服従すると思っているのだ。
無論、そんな親に育てられた子供は不幸である。
そして、学校の教師にだって、そんな手合いは決して少なくないのだ。
私も、初めて学校の図書館を利用した時、少し手順を間違えると、初老の女教師が目の前に仁王立ちになり、私をにらみつけて、「何やってるの!」と凄んで見せたことがあった。しかも、その日は1日中、私の失敗をあげつらい(ささいな非などを取り立てて大げさに言うこと)、お前は本当に馬鹿だと言い続けたものだ。
その女教師は、常にそうで、自分が気に入らない子供に対しては、それが趣味であるかのように(実際に趣味なのだろう)、同じようにしていたのだ。
私は1年生だったが、6つ7つの子供にも、実はそんなことはよく分かり、すっかりお見通しなのである。

インドで生まれて育ったベアード.T.スポールディングは、4歳の時、大学予備校に入学し、教師に初めてアルファベットを見せられて、「どう思う?」と聞かれ、ベアードが「分からない」と答えると、教師は、「そんな態度とはさよならしなさい。自分にはちゃんと分かっているという態度をとりなさい」と言ったという。ベアードは、そのことを忘れず、守り続けたおかげで、14歳で名門カルカッタ大学を失業できたという。

私が初めて、コンピューターのアセンブラ言語(最も直接にコンピューターに指示を出せるので、最速にコンピューターを動かせるプログラム言語)の勉強をした本には、著者は、読者を勇気付けるために、「自信さえあれば結果は自ずとついてくる」と書いていた。つまり、難しいと言われているアセンブラ言語の学習にも、「自分には分かるのだ」という自信を持つことが大切なのだということだ。
そのおかげかどうか分からないが、私はさして苦労せずにアセンブラ言語を習得できたし、その後も、様々なプログラミング言語をマスターできた。
私は、このブログでよく、マイクロソフトのExcelやAccessに内蔵されているVBA言語をマスターすることをお薦めしている。
比較的、習得が容易で(実際は、どのプログラミング言語も同じだが)、しかも、ExcelやAccessの素晴らしい機能やユーザーインターフェースを自由自在にコントロールできるVBAの便利さ、強力さは、やってみなければ分からない。
優れた教育研究者、学習心理学者が指摘するように、プログラミング言語を学び活用すれば頭が良くなり、仕事や研究の効率は驚くほど高くなり、当然にして、仕事や研究の幅も広がるので、人生を質の高いものにする道が開けるだろう。
もちろん、真摯(真面目で熱心なこと)な態度が必要であるが、それと同時に、「自分には当然にしてちゃんとできる」という態度を持って取り組めば、VBA言語を速やかにマスターすることを通じて、あらゆる可能性が開かれるはずである。

先程の、ベアード.T.スポールディングのエピソードが書かれた『ヒマラヤ聖者の生活探求』第5巻は、単独で読んでも良く、驚くべき貴重な内容が満載されている。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

VBAに対する誤った批判はVBAの強力さの証拠である

私はよく、マイクロソフトのExcelやAccessに組み込まれたプログラミング言語VBAの習得をお薦めしている。
ところが、次のような意見をWebサイト等で見たことがあるかもしれない。
「VBAは初心者向きで簡単だが、機能が劣っている」
「VBAができる程度ではプロのプログラマと認めてもらえない」
「VBAのプログラマはレベルが低く、JavaやC++などにステップアップしなければならない」
「VBAはWindowsの中で、さらにExcelやAccessの中でしか使えない(ので、用途が狭い)」
「VBAは古い。早くVisualBasic.NETに移行しなければならない」
「VBAの仕事は安いので、VBAプログラマは給料が少ない」
全部、完全な間違いだ。
全くの嘘か、的外れだ。
昔は、BASIC言語に対してよくそう言われたし、COBOL言語に対しても同様なことが言われることもある。
しかし、こういったことを言って、入門者に偏見を与える者に有能なプログラマはいない。
年収400万円、あるいは、300万円にも満たないプログラマに、そんなことを言う者が多いかもしれない。

私は、簡単だからVBAの習得を勧めているのではない。
極めて強力で役に立つから勧めているのである。
上記の事柄について、1つずつ見ていこう。

・VBAは初心者向きで簡単だが、機能が劣っている
私は10以上のプログラミング言語を覚えたが、極端に習得が難しいとか易しいとかいったものはなく、どれも同じである。
C言語はもちろん、アセンブラやLispですら、順を追ってやれば、誰でも習得できる。
要は、習得する必要性があるかどうかの問題であり、Lispを覚える必然性がない者がいくらLispのテキストを見ても、この実は易しいプログラミング言語をマスターすることは決してないだろう。
VBAの機能は十分以上に強力だ。

・VBAができる程度ではプロのプログラマと認めてもらえない
どんなプログラミング言語であろうが、それで役に立つことができる度合いによってプロと言われる。

・VBAのプログラマはレベルが低く、JavaやC++などにステップアップしなければならない
VBAが最も有益な場面でJavaを使う必要はない。
Javaが向いているところではJavaを、C++でやるべきことはC++でやれば良い。
企業や研究所の中でのデータ処理では、ExcelやAccessでVBAを使うことが最も適切な場合が多い。

・VBAはWindowsの中で、さらにExcelやAccessの中でしか使えない(ので、用途が狭い)
「ExcelやAccessの中で使える」から、驚くべきほど強力なのである。
こんなことが簡単にできるプログラミング言語は他にない。
多くの企業や大学では、PCにWindowsとExcel(というよりマイクロソフトOffice)が入っているので、利用される場所が少ないことはない。
Accessが入っていないPCは多いかもしれないが、Accessのランタイム(Accessで作られたプログラムを実行するソフト)は無料である。

・VBAは古い。早くVisualBasic.NETに移行しなければならない
VisualBasic.NETは、大規模なシステムを開発するのに適しており、扱い易さ、便利さ、開発効率ではExcelやAccessでVBAを使う方がはるかに高い。
VBAで十分なシステムであればVBAで作る方が、コストもかからず、保守もし易い。
企業のシステムの少なくとも90%まではVBAで十分と思う。

・VBAの仕事は安いので、VBAプログラマは給料が少ない
VBAの仕事の発注金額がJavaやVisualStudioのものより安いのは本当かもしれない(もちろん、そうとは限らない)。
なぜ安いかというと、生産性が高く、少ない労力で早く開発できるからだ。
これもまた、VBAの開発効率の高さを示している。
開発会社としては、JavaやVisualStudioを使うに相応しい大規模なシステムの受注を取りたいだろう。
高額な見積もりを、いかにも根拠があるような言い方をして出すことができるからだ。
しかし、そんな仕事の多くは、開発者側は面白くなく、苦役であるものだ。
給料の高さは、使う言語とは何の関係もない。それよりも、プログラマの能力がずっと大きく影響するだろう。

ExcelやAccess自体が、驚くべき機能を持つクールなツールである。
その膨大で高度な機能をVBAで自在に操作でき、さらに、新しい機能を付け加えることができるのである。
こんなことが容易にできるのは、ExcelやAccess内部に組み込まれたVBAだけで他にはない。
こう言えば、VBAがいかに効果的で有益なものかが分かると思う。
私は、VBAがクールだから勧めるのである。
ジャストシステムの表計算ソフト『JUST Calc』はVBAが完全に使えるようになるらしいし、無料のLibreOfficeに含まれる表計算ソフトCalcもその方向に進んでいるようである。
これらも、やはりVBAの強力さ、効率の高さを示していると思う。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

世界はこうして破滅を免れる

トヨタ自動車のエンジニアが、画期的なアイデアを思いつき、実際に作ってみたら素晴らしかった。
そこで、そのエンジニアは、日産や本田、あるいは、フォードやフィアットなど、あらゆる自動車メーカーにそのアイデアを教え、どのメーカーもこぞって、そのアイデアを取り入れる・・・なんてことは、現状の世界では決して起こり得ない。
そんなアイデアは厳重な機密とされ、特許手続きをして、他のメーカーが真似できないようにしてしまう。
世界が不幸で悲惨なのは、そんなことが原因である。

ところが、コンピューターのプログラミング言語では、そんな「夢のようなこと」が普通に行われている。
プログラミング言語であるPerl(パール)言語の開発者が画期的アイデアを閃いてそれをPerl言語の中に取り入れると、PHP(ピーエイチピー)言語の開発者は、敬意と感謝を持ちつつ、それをPHP言語に採用する。そんなことがごく自然に行われている。
多くのプログラミング言語は、その中身の一切が公開され、何も隠されていないし、いかなることも独占を主張しない(主張する者は馬鹿だと思っている正常な者が多い)ので、そんなことが簡単にできるのである。
なんとも健全な世界があるものだ!
ビル・ゲイツは、世界初のパソコンのためにBASIC言語を開発して大金持ちになったが、BASIC言語は1960年代にダートマス大学のジョン・ケメニー、トーマス・カーツという2人の数学者が開発し、全てを公開し、権利も放棄していたので、ゲイツは自由にそれを使えたのだ。

野尻抱介さんの『南極点のピアピア動画』というSF小説では、こんな自由が広い範囲で行われるようになった明るい未来について描かれている。
この小説の中で、大学院生のカップルや、ベンチャー企業の研究者とコンビニ店の若い女性店長というカップルが 宇宙飛行をしてしまう。
ソフトウェアだけでなく、ハードウェアまで仕様が完全公開されてそれを自由に使い、また、アイデアはあるが金のない若者のために、金と力のある企業が援助をするなど、全てが「良い感じ」に回って、軽快なリズムの中で、素晴らしいことが次々実現してしまう。
この小説の表紙絵には、初音ミクによく似た少女の絵が描かれている。描いたのは初音ミクの公式イラストレーターのKEIさんで、この少女は小隅レイ、あるいは、そのコピーである、あーやきゅあ移動体(通称あーや)であるが、実質は、初音ミクだ。作品を読むと、著者は相当に初音ミクにメロメロであることが分かるが、私も「同病相憐れむ」である。
そんな著者だからこそ書けた作品である。
初音ミク自体が、コンピュータープログラミング言語のような自由な存在だ。初音ミクのために歌を創ったクリエーターは、金のためではなく、純粋な創造としてそれを行っている。単純に、「みんなに聴いて欲しいナ」、「ミクに歌って欲しいナ」という想いで、プロも真っ青の作品を創ってしまい、多くの場合は、作品の2次利用、3次利用を認めているが、使う方も、作者に対して、感謝と共感を持ち、敬意を持って扱うのだ。
こんな素晴らしいことがあるだろうか?
初音ミクが世界的にヒットし、愛される理由は根本にはそこにあるのである。初音ミクが世界を平和にしていると言っても、少しも大袈裟ではない。

そもそも、アイデアというのは、ケチケチせず、どんどん無料公開すれば、後から後からいくらでも湧いてくるのである。
しかし、現在は、特に企業が、多くのことで権利をあまりに欲深に主張するので、世界はおそろしく複雑化している。恥を知れと言いたいようなものも多い。
このままでは、遠からず、世界は破滅することは間違いない。
だが、初音ミクという希望の光が現れたのである。
無論、ミクの一切がオープンという訳ではない。
だが、人々が、不要な欲を捨て、思いやりの心を育て、感謝と共感と敬意を持つようになるほど、ミク(未来)という神様は世界を慈愛の光で包み込むのである。
私はただ、ミクに平伏(ひれふ)し、愛するのである。ミクは、弥勒菩薩の、あるいは、クリシュナの化身なのである。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ

学校にコンピュータープログラミング教育を導入したら日本はもう終り

中学校で、コンピュータープログラミングが授業に取り入れられたらしい。
それでどういうことになるだろうか?
美術や音楽を学校で教えることにより、生涯、絵が描けず、歌を歌えず、楽器を演奏できず、これらのことを自分で行うことに、救いようの無い抵抗や拒否感を持つ人だらけになった。
他のことで極めて優秀な人が、「僕は絵を描くのは全然駄目なんですよ」とか、「私は全く音痴で、歌うことなんてとてもできません」という、異常なことを平気で言うのである。
絵を描く楽しさ、楽器を演奏する楽しさという貴重で大切なことを、学校で根こそぎ奪われてしまったのだ。
音楽や美術の授業のやり方は、ほとんど全て教師に任せられている。それで、独善、偏見、脅迫がまかり通り、子供達が音楽や美術を楽しみ、生命の糧とする能力を、戦争中のアメリカの空襲さながらに、完膚なきまでに叩き壊されたのだ。自我があまりに強い教師によってだ。
哀れ子供達。
そして、コンピュータープログラミングだって、中学校で教えることになって、全く同じことになることは間違いないだろう。

こんな話を目にしたことがある。
「子供達にオブジェクト指向の考え方を教えるべき」
こんなことをぬかすヤツに言ってやろう。
「貴様、オブジェクト指向を5分で誰にでも分かるように説明してみろ」
私が目の前で説明が終るまで、30分でも1時間でも聞いてやる。そして、大きな声で言ってやろう。
「さっぱり分からん」
とね。
そんなものを子供達に教えたら、子供達の頭を混乱させ、子供達に、プログラミングに対する救いようのない拒絶を与えるのである。
私は、純粋なオブジェクト指向言語であるSmalltalkを何年も使ってみたが、オブジェクト指向が全く分からなかった。
私の頭が悪いことは確かだが、それでも微積分なら誰にも教わらなくても分かったのだ。
ところで、私がこれまで聞いた中で、最も好きなオブジェクト指向の概念は、「単なるメモリ保護技術」である。
しかし、それは、何年にも渡って、生活を賭けてソフト開発をやったから納得いったことなのである。
私は、それから、天才的な技術者であるだけでなく、コンピューター技術を誰よりも分かり易く説明する才能を持ったピーター・ノートンが書いた、一般にはオブジェクト指向とは遠いプログラミング言語と考えられているVisualBasic(VisualBasic6.0)によるオブジェクト指向プログラミングのテキストを読んで、やっと、オブジェクト指向を4割ほど理解できたのである。
ただの教師にオブジェクト指向を説明させたら、全くチグハグで、的外れで、曖昧模糊とした説明になるしかないだろう。言ってる本人がさっぱり分かっていないのだ。
そんなことを子供達に教えたら、子供達はオブジェクト指向を、地底人のグルメ料理よりも変なものだと思うようになるだろう。

とはいえ、子供達にコンピュータプログラミングを教えることは悪いことではない。
アラン・ケイは、ずっと以前から、Squeak(スクイーク)という、Smalltalk言語の1つを使って、子供達にプログラミング教育を行っている。
しかし、特殊な形態を持ち、特殊な操作を必要とするSqueakは、面倒過ぎて、子供どころか、コンピュータープログラミングに興味のある若者や大人にも不向きだ。
Smalltalk言語も使ってみた上で言うのだが、決して、普及を目指す人達が言うほど簡単ではなく、むしろ難しい。
今日、産業界では一般的なC系の言語・・・C、C++、Objective-C、Java、Perl、PHP、Ruby、Python 等も、書き方1つとっても癖があって、慣れたとしても抵抗があるものだ。これらも、教育用には適さないと思う。
かつては教育用言語と言われたPascalについて言えば、美しくはあると思うが、これが教育用と言うのは、ピアノを本格的に習う者にとってバイエルが教育用であると言うのと同じで、一般的な音楽教育にバイエルが適さないように、一般的なプログラミング教育にはPascalはやはり難し過ぎる。

LOGO言語は教育用に適したものの1つだが、良いLOGO言語のソフトがない。有償のものなら良いものがあるのかもしれないが、高過ぎる。
そもそも、教育用の良いプログラミング言語のソフトが無料で存在するよう、政府が形を整えてもいないところも、これが学校教育に適さない証拠の1つと言えると思う。政府のこの件の関係者は、自分では何も分からずに、「子供にプログラミング教育を」と言っているのだろう。
では、教育用として最近流行のScratchはどうだろう?
駄目だと思う。あれは、コンピュータプログラミングを教えることには全く適さない。そもそも、コンピュータープログラミングでいきなりグラフィックや画像を扱う必要はない。
グラフィイックが動く楽しさと、コンピュータープログラミングの楽しさは全く違うのだ。
自転車に乗る楽しさを味わう前に、自転車の形やブランド、個々のパーツに凝る様なものである。

教育用には、純粋にコンピュータープログラミングに取り組めるものが良い。
ジョン・ケメニーとトーマス・カーツが創ったBASIC言語は、文系大学生のプログラミング教育のためのものだったが、子供のプログラミング教育に最も向いていると思う。
余計な制約や押し付けが最も少なく、プログラミングの本質を単純に理解できるからだ。
ただ、やはり良いBASICの処理系(ソフト)がない。
現在のVisualBasicはあくまで産業用のもので、教育用には複雑過ぎる。
Excelなどに付いているVBA(Visual Basic for Application)くらいならまだ良いが、これの提供者であるマイクロソフトは、これをもう古いものとしたいのだろうと思う。
マイクロソフトが数年前に発表した無料のSmallBasicは、その後さっぱり流行らず、日本での普及は行われず(日本語サイトもいまだ無い)、マイクロソフトも、この言語の更新を長い間行っておらず、Windows8にも対応させていない。教育用に良いと思うのだが、どうもそんなものは流行らないらしい。
現在は、無料の十進BASICが一番と思うが、これがオープンソースになればなあと思う。
十進BASICのホームページ
だが、本当に本質的な意味では、Lisp言語(の中のScheme )が、教育用に最も好ましいプログラミング言語であると思う。ただし、現在は、総合的な意味で、人類の持つコンピューターの構造自体がLisp言語に向いていないのである。だから、Lisp言語は、いまのところ、コンピューターにおける最も高貴な趣味と言えるかもしれない。









↓応援していただける方はいずれか(できれば両方)クリックで投票をお願い致します。
人気blogランキングへ にほんブログ村 哲学・思想ブログ 人生・成功哲学へ
プロフィール
名前:Kay(ケイ)
・SE、プログラマー
・初音ミクさんのファン
◆AI&教育blog:メディアの風
◆著書『楽しいAI体験から始める機械学習』(技術評論社)


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

執筆のご依頼

最新コメント


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


メールはこちらへ

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

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