Visual Basic(.netも)と共に生きてきた約25年の振り返り その1
始まり
Zennを始めるにあたって、システム屋としての始まりを振り返りたくなりましたので、ここに Visual Basicについての思い出、振り返りを記しておきます。
今と違ってインターネットもダイヤルアップで接続していたころの話です。
最初に入った会社でのビジネスアプリケーション開発に利用されていたのが
Windows95 で動作していた VisualBasic5.0(以下 VB5)でした。
データベースは、SQLServer6.5
サーバーOSは、WindowsNT4.0 Server
考えてみると、当時からマイクロソフトがっつりって感じですね。
しかし、私らのような世代(アラウンド50)は、生まれて初めて体験するアプリケーションプログラミング言語は、BASIC という人も多いはずです。
(私は、子供時代に高額なパソコンを買ってもらえるような環境ではなかったため、初めてプログラミングをしたコンピュータは、ファミリーベーシックとなります)
下の写真のファミべですが、今は亡き父が買ってくれたものです。思い出の品として大事に取ってあります。
改めてファミべのマニュアルなどを見てみると、当時のエンジニアたち(HU-Basicの仕様策定はボンバーマンのハドソンの方達ですよね、確か)がなるべくわかりやすくコンピュータを使えるように、という「努力」が垣間見えます。
実際、ゲームなども作ったりもしましたが、キャラクター同士の衝突判定に、abs関数を利用するとか、小学生だった自分にはちんぷんかんぷんでした・・。
この当時としては、マイコンBASICマガジンに高度なゲームを投稿されていたスタープログラマーたちのようにはなれず、(そもそもV3対応ばかりでしたし)私個人としてはファミべを十分には使いこなせなかったです。
.NetFrameworkの出現(VB.NET)
話はビジネスアプリケーション開発に戻ります。
その後、扱う言語はVB5からVB6になり(5 → 6 は 言語仕様に大きな違いはなかった記憶あり)、
WindowsOS上にて.NetFrameworkが出現することで、VB6と決別し、VB.NETへの移行が始まります。
特に、.NetFramework2.0に関しては、ターゲットバージョンとして指定されたプロジェクトファイルが(最新環境に変換されるとはいえ)2022年現在でもVisualStudioにて対象フレームワークとして指定し、ソースがビルドできてしまうところにマイクロソフトの凄さを感じます(古いアプリケーションを作り変えないで使い続けてしまう要因にも繋がりますが・・・)
オブジェクト指向
VB6時代にも、クラスモジュールが存在し、オブジェクト指向でアプリケーションを作成することはできたと思いますが、なにせVB6時代はインターネットも自由に使えなかった時代、情報を入手することが難しい・・。
Javaなどが利用されるようになってきて、ようやくオブジェクト指向が一般的なアプリケーション開発に取り入れられるようになっていったと思います。
数学ガールなどの書籍で有名な 結城 浩さんの Java言語プログラミングレッスン
(表紙が雨に濡れてぼろぼろになった状態の書籍を自炊したものなので、こんな状態・・)
この本が、オブジェクト指向の先生でした。
VB.NETでオブジェクト指向
数年後、なんとなくわかったような気がして、実際のVB.netに対してのアプリケーション開発案件でオブジェクト指向でのアプリケーション開発を試みるも、なぜかうまくいきません。
当時のGUIアプリケーションのスタンダードだった、WindowsFormsでの開発ですが、ベースとなるフォームを作成し、そのフォームを継承しつつ別のフォームを作成する、くらいしかできなかった記憶があります。
Java言語が、Javaアプレットが普及せず、GUIアプリケーション開発から外れていってしまったのもあり、当時の自分としては Java言語で習得したオブジェクト指向の知識を活かしたVB.netアプリケーション開発まではなかなか最適解に到達できなかったです。
C# の出現
Wikipedia をみる限り(これを正確な情報にしてはいけないですが).Net Framework1.0(2002年リリース)から C# は利用できるようになっていましたが、VB主体で開発をしていた自分としては、当時としては C# は代替する意味合いが弱い言語でした。.Net Frameworkを使う限りは、VB.netとの違いもほとんどなかった記憶があります。
ただし、C#を選んでおけば、VB.net でたびたび話題に上っていた、Option Strict On については意識しなくて良い点がありますね。旧バージョンとの互換性を重視したと思われる VB.netならではのものだと思います。
しかし、2022年現在、C#はいまだに進化し続けていることからも、とても扱いやすい開発言語だと思います。
また、.Net Frameworkの機能が充実しているのがすごかったのかもしれません。Win32APIなどを使わずに、パソコンの細かな機能の制御が可能であることは、アプリケーションの生産性を飛躍的に向上させてくれたと思います。(Frameworkがないと、ファイルアクセス、属性取得や音声再生も大変だった記憶が・・)
Basic の変数宣言
C# などと異なり、Visual Basic では、変数宣言を
Dim hoge as String
のように、変数の型を 後ろに持ってきます。自分はこのスタイルに慣れ切っているため、C#をメインで使うようになった今でも変数宣言方法に違和感があります。慣れ、とは恐ろしいものです・・。
だらだらした文章になってきてしまいましたが、
つづきは、その2にて・・。
Discussion