本日は、ちょっと「パソコンの歴史」の話をしてみたいと思います。
気楽に読んでください。
この講座では、
「なぜ、難しい専門用語を覚えずともマクロが組めるようになるのか?」
これ、掻い摘んでその答えを一言で述べるならば、
「マクロは、ベーシックの範囲で作ればいい!」という話を、
以前のメルマガにて詳しく述べました通りでありますが、、
→ VBA3つの分類
それで、
そもそも、今の若い方はこの話の中のキーワードとなっている
「ベーシック」というもの(プログラム言語)について、
殆ど知らない人が多いようでしたので、今回はそれ詳しく書いて
おきたいと思います。(まぁ、これは懐かしい昔話です。)
で、このベーシック、
私と同じ年代の50代以上の人であれば本当、誰でも馴染みの深い、
懐かしいものであると思うわけですが、
「ベーシック」と言うよりも、英語表記で「BASIC」と言ったほうが
我々古い昭和世代の人間には分かり易いかと思いますので、
以下「BASIC」と表して書くことにします。
ちなみに、
このこれから話す「BASIC」をよく知る年代と知らない年代とを
感覚的に分けるとするならば、バブル期を境にしたその前後で
(バブルを知る世代と知らない世代)、ということになろうかと
思います。
何といっても、
「BASIC」というのは「VBA」の「B」の部分を指していますから、
「VBA」のど真ん中は今回話す「BASIC」の意味になります。
また、以前にも書きましたが「VBA」は「BASIC」を元にして
作られたプログラム言語でもありますので、以下の話は、
言わば「VBA」のお父さんのファミリーヒストリー(by NHK?)
です。(笑)
ちなみに、
VBAの資格に、「VBAベーシック」とか「VBAスタンダード」とか
そのような名称の試験があるかと思いますが、
その「ベーシック」と今回の「BASIC」とは全くの別物ですので、
混同しないようご注意ください。
やさしいという意味で「ベーシック」と名付けられている試験は
他の業界ではよく見られる話ですが、ことコンピュータの世界では
(特に、プログラミングにおいては・・)ベーシックと言ったら
これは間違いなく、今回話す「BASIC」を指して言う言葉になります
ので、、
(たとえば、業界で有名なオラクルの資格試験の場合ですと、
ブロンズ、シルバー、ゴールド、プラチナといった具合にちゃんと
その辺はわきまえた、順列もわかりやすい名称になっています。)
もし、その「VBAベーシック」この試験の名称を言い換えたならば、
「ビジュアルベーシックフォーアプリケーションズベーシック」。
すなわち、これは「VベーシックAベーシック」というへんてこな
ことになってしまいますのでーー、
「これは何とも間抜けなネーミングをしてしまったものだなぁ~」
「BASICも知らんのか!」と、前々から少々残念に思っている次第
です。(あくまで、この道25年のベテランSE兼、自称ネーミング
評論家の私から言わせると・・・、です。笑)
気を取り直して話を戻しますが、
実は、その「BASIC」にも色々と種類がありまして、中でも
我々昭和世代の日本人には特に馴染みの深かったいうのが
「N88-BASIC」というものになります。
「N88-BASIC」(エヌはちはちベーシック)と聞いて、
懐かしいなぁ~、と感じる昭和世代や団塊世代の人は、
沢山いらっしゃることと思いますが、(私もです。^^)
話はまた少々脱線しますが、
山手線の田町駅の近くに通称ロケットビルと呼ばれる地上40階以上ある
の大きなNECの本社ビルが建っていますが、(首都圏にお住まいの
皆さんであればご存知の方も多いかと思いますが、横から見ると
ロケットの形に似て見えるビルです。)、
かつて、そのビルは別名で”パソコン御殿”と呼ばれていました。
当時(80年代)のパソコン市場というのは、NEC製の88シリーズ
(もしくは98シリーズ)というPCが、国内シェアがなんと8割以上
という、驚異的な独占状況となっていた時代がありましたので、
それで、パソコンが売れまくったおかげでNECが建てた本社ビルが、
”パソコン御殿”と呼ばれていたわけです。
今となっては、台湾製だの中国製だのDELLだのHPだのAppleだのに
すっかり押されて、又、安売り競争で数万円も出せばそれなりの
PCが買える時代の今となっては、とても考えられない話なんですが、、
パソコン売って都心の一等地にあのような巨大なビルが建つほどに、
当時のNECのパソコンというのは、それくらい売れに売れまくって
いたわけです。
で、
そのNECの88シリーズというパソコン上で動く「BASIC」の
プログラム言語であるから「N88-BASIC」と、この名前が付いた
というものです。
そもそも、
当時のパソコンいうのは、今みたいに便利なソフトやアプリといった
ものは殆ど何もなかった時代でしたから、ましてや、Excelはおろか、
Windowsすら未だない時代です。当然、メールやネットもありません。
なので、
パソコン=自分でBASICのプログラムを組んで何かの計算をさせる道具。
(パソコンとは、すなわち電卓では出来ない複雑な計算をさせる為の
高度な電卓。)それでしかなかったわけです。
「BASIC」というのは行番号の付いたプログラム言語でしたが、
至って素人向きのやさしい言語でしたので、
構文でいうとFor文とIF文、結果表示のPrint文、それと禁断のGoTo文、
私の記憶ではまぁ覚えるのはその程度のものだったでしょうか。。
しかも、それらはぜんぶ命令文と呼ばれていましたので、
間違ってもメソッドとか、ステートメントとか、
そのような難しい用語というのは、一切ありませんでした。(笑)
ましてや、
変数定義の強制とか、オブジェクト指向の概念とか、
そう言った事を言う人も一切居ませんでしたから、
非常にやさしくわかりよく、アマチュアのプログラミングは
実に爽快な時代だったと言えるでしょう。
とにかく、
ソフトもアプリも何もない時代のパソコンいうのは、
もしその簡単な「BASIC」のプログラムすら組めない人には
ただ邪魔で大きな箱に過ぎませんでしたから(ノートPCはおろか、
薄型の液晶モニタもありません時代ですから、)
パソコンを持っている人であれば「N88-BASIC」のプログラムは、
ほんと誰でも組めて、結構複雑で難しい計算をするプログラムを
当たり前のように皆が組んで、PC使ってたという時代があった
わけです。
それで、
私自身も大学生の頃に構造力学という授業で有限要素法の
プログラムを組むために人生で初めて買ったのが、忘れもしない
NECの6001シリーズという(当時のNEC製のPCでは一番安かったやつ)
パソコンでした。
一番安いといっても、
当時のPCは本体とキーボード、真空管の白黒モニタと唯一の記憶装置
であったカセットテープのデータ収録機、それらの一式で30万円ちょい
の値段はしたかと記憶していますので、、
まだ学生の身分にも関わらず、「そんな高いもの買っちゃって!」と、
その当時母親に大そう怒られた記憶があります。(汗)
でも、その後の私のSE人生(コンピュータどっぷりの・・)を思えば、
その時の30万円は決して高くはない自己投資の買い物だったかな
とも思えます。(笑)
話を戻しますが、
それで、ここで(マクロ作りで)使うプログラム言語であるVBAの
元になったお父さんが、その「BASIC」言語です。
にも関わらず、
昔は誰でも組めた「BASIC」が、今の「VBA」では、なぜに?
誰にも組めないものとなってしまったのか。。。
実は、
このメルマガは私のそのような疑問からスタートしたというもの
であるわけなんです。
私がこの疑問を持たなかったならば(もし、昔の古き良き
「BASIC」の時代というのを知らなかったなら)、けっして
このようなマクロ講座は生まれてはいませんでした。
今の「VBA」言語いうのは、殆ど誰も組めない状況になっている。。。
ほぼ1日中、Excelを使った仕事をしている職場であっても、
その職場の30人中、VBAが組める社員というのは精々1人か2人
しか居ないのが現実かと、思います。
その昔の「BASIC」であれば、当時(全員とは言いませんが、)
パソコン使う職場であれば30人中で15人はプログラムが組める人が
居たかと思います。
一体なぜ?そうなってしまったのか。。。
その理由の一つには、
昔と違って今はプロが作ってくれたソフトや便利なアプリが
豊富に用意されている時代ですから、わざわざ自分でプログラム
を組むという必要性自体が無くなったということもあるでしょう。
けど、
皆さんよく使っているExcelのソフトに限って言えば、
中々自分のやりたいようにデータ処理をやってくれるソフトでは
ないが為に、自分でマクロを作る必要性に迫られて、
このマクロ講座に辿り着いたという読者の皆さんが多いのだろうと、
思います。
にも関わらず、
その元となった「BASIC」の時代では本当、誰もが組めていたもの
が、「VBA」となった今、こんなにも世間から敬遠されている理由
の一番は(VBAが嫌われる最大の理由は)、何といっても
「BASIC」よりも遥かに難しく見えるものになってしまった。。
それに尽きるのだろうと思うわけです。
でもそれ、正確に言えば、
ただ余計な難しい部分がたくさん付け加わえられて、
自慢げにそれ話す人も多くなって来て、、
それに他ならないと思います。
なので、
その唯一の解決策は、ここは「BASIC」に原点回帰をすればいいだけだ!
と、このマクロ講座を始めるに当たって私はそう気付いたという次第です。
余計に備わった部分を可能な限り排除する。それらはなしで使う。
そうすれば、昔の「BASIC」言語のごとくに、誰もにやさしく、
簡単に組めるプログラム言語になるはずだ!と。
そこで、前にも書きましたように
1)ベーシック言語 ←素人向きの単純な言語
2)高級言語 ←プロの開発者が使う専門知識の多い言語
3)オブジェクト指向 ←熟練したプロ向き専門用語だらけ
重要なのは、この3つの分類です。
プロ向きで難しい部分は排除して(勉強せずに)、
素人向きのやさしい「BASIC」の部分だけを勉強する。
それプラス、「マクロの記録」です。それだけで
「Excel自動化」の為のマクロは十分に作れるのです。
しかも、
「マクロの記録」で作った部分はその殆どが理解は不要!!
なわけなんですから、部分的な直し方だけを練習すれば
よいというだけです。
でも、
この方法で、本当に素人の初心者でもVBAのプログラミング
(マクロ作り)が出来るようになるのか?
最初はそれ、誰も信じてくれないわけです。
特に、難しい専門用語の山に既に毒されてしまっている
頭の固い人達の抵抗いうのは、尚更です。
それで、
その為の実験を(実証を)、当講座にて10年以上続けてきた
レッスン配信にて、一つ一つ積み重ねてきた次第です。
確実にできるという証拠です。出来ないという人の証拠は、
今だ一度も見たことがありません!(笑)
多くのVBA出来ない人が、
プロの領域まで教える参考書というのを買って、それ
読み進めるためだけに必要な「勉強の為の勉強をしている」
その悲惨な光景というのを長年目の当たりにしてきましたが、
マクロ作り(Excelの自動化をするためのVBA習得)に、
そのような勉強は、一切必要がありません。断言します!
くれぐれも、「勉強の為の勉強」はやってしまわぬよう、
ご注意くださいね。
ということで、今回は懐かしい昔話(コンピュータの歴史
の話)をしましたが、今回の内容をまとめますと、
「BASICを知らずしてVBAを語るべからず!」
(だから、どんどん難しくなっちゃうんですよ。)
近年では、歴女(お城や歴史好きな女性)というのが
増えてるとのことですが、戦争や震災でもそうですが、
歴史を知ることとは間違った方向へ進んでしまわぬよう
するための最大の手段であると思いますので、
その意味でも、VBAをやる上でコンピュータの歴史を
知るということも重要かも知れませんですね。
ちなみに、私も歴男です。(自称です。笑)
■ここも注目です
マクロとVBAの違いとは?