💾

Visual Basic(.netも)と共に生きてきた約25年の振り返り その4 (最終回)

2022/04/02に公開

役目を終えつつある開発言語

以下は前回ブログの 最後部分の引用です。

そして、Windows(.Net)の世界にもオープンソースの波がやってきます。.Net Frameworkから .Net Core へ。

VB.netについても・・
https://forest.watch.impress.co.jp/docs/news/1240998.html

オープンソースコミュニティを拡げていく事

我らが?マイクロソフトが、
・VSCode
・GitHub
・WSL
・TypeScript
・.NetCore
など、Linux や オープンソース系アプリケーション開発コミュニティ を優先して力を入れてきたと思われるここ数年、自社ブランドの製品、テクノロジーだけでこのシステムエンジニアリングの世界を戦っていくには厳しいとの判断がなされたという結果が、オープンソース系コミュニティ系への比重を高めることに繋がり、自社の存在意義や生き残りをかけた勝負に出ていると(偉そうですが)勝手に判断しています。

しかし実際、その数々の実績にて、多大な恩恵を受けています。
 VSCode:
  ノーマルなエディタと比較したら、コーディングの生産性が飛躍的に向上する素晴らしいツールです(個人的には無いと仕事にならん)。
 TypeScript:
  JavaScriptと比較して面倒な部分もありますが、型の宣言にたくさん助けられました(1 + 1 が 2 でなく 11 にならないで済みました)。
 GitHub:
  無いと世界が回らない(大袈裟かな?)と思います。

発展させるべき技術への資源の集中

その中で、私たちが主戦場で戦ってきたクライアントサーバータイプのPCをベースに動作するアプリケーション開発を主軸に据えていたマイクロソフトは、現在(2022年)において、Web系やモバイル系の開発技術として選択されているケースは(個人的な意見です)少ないように思えます(人によっては信じられないかもしれませんが、業務系アプリケーション開発においては、まだまだWindows、またはLinuxサーバーを利用しない、という選択肢もあります。当然、マイクロソフト製品は動きません・・。PHP、Java、Python、Node.jsは、IBM系のサーバーでも動作するのとは対照的です)。アプリケーション開発の主軸が、Web系やモバイル系にシフトしてきている今、汎用言語として存在はしていますが、似たような機能を持つ.Netテクノロジーで動作する 「VB.net」 と 「C#」 を共に育てていく余裕は無くなった、ということの裏返しでもあるかと思います。

ブランドイメージを定着させるより、意識させないことの方が大事?

余談ですが、昔のマイクロソフト製品に ms-windows とか、マイクロソフトのイニシャルである「ms」を付けるようになったのは、化粧品メーカーからやってきたとあるマイクロソフトの社員さんが、ソフトウェアのブランドイメージとして、マイクロソフトの製品であるということが認知できるように、企業名を印象づけるキーワードを製品名に載せたほうが良い、とか進言して決められた、ということを聞いた(または読んだ)記憶があります。

しかし、今の時代、Apple、Google、Amazon、Facebook、など、ITの巨人たちから提供される技術が溢れる中においては、「どの企業がその技術を持っているか?」ではなく「その技術でどんなことができるのか?」が重要なのかもしれません。ブラウザ1つでいろんなことができるようになったことで、個別の製品に捉われなくても生活できる基盤ができあがったということなのだと思います。

オープンソースへの抵抗感(を下げること)と世の中の主流に合わせていくこと

オープンソース技術に触れてみて感じたことは、「とにかくバージョンアップが早いこと」が良い点もであり、悪い点でもあるかと思います、
flutterとかもそうですが、数日ですぐバージョンが上がっていきます。
https://docs.flutter.dev/development/tools/sdk/releases
安定的な動作を求める社内アプリケーション開発などとは、ますます相性が合わないかも、と思う点もあります。
しかし、世の中の主流開発手法、言語、思想を取り入れていかないと、今度は人が育たないですし、新しい事をしようとしても今度は人が集まりません(VB.netがチーム内標準言語だとすると、集まるのは私らのようなベテラン勢になってしまうでしょうし)。社内アプリケーション開発などにおいては、この点は非常に難しい問題だと感じています。

Visual Basicがもたらしてくれたこと

話をVisual Basic に戻します。本Blogの先頭の記述リンクにもあるように、Visual Basicという開発言語は、過去アプリケーションの後方互換のために残されていくという部分においては存続しますが、大きな発展は望めないでしょう。つまりは、役目が終わったということになります。
そして、今後、世の中の技術トレンドに合わせて新しい考え方を取り入れてシステム開発を行なっていくのであれば、Visual Basic とお別れ(最終的には古いアプリケーションの保守があるので完全なお別れではないが、それらが別のアプリケーションに置き換わった時点で)をすることになります。
器用な人は、複数の言語を同時に使いこなすこともできますが、みんながみんな、器用な取り回しができる人たちでも無いため、利用者はどんどん少なくなっていくでしょう・・。
実際、アプリケーション開発においては、自分もまだまだVB脳です。C#で記述していても文字列操作をする場合は、VisualBasic名前空間をインポートして、Strings.Left とか利用したり(ただ、こだわるなら、純粋C#で書こう!)、My.Computer とかVBにしかない機能を求めたり(記述方法を変えればC#でも実現できますが・・)と、VBとC#の脳内での置き換えに最初はすごく苦労しました。

BASIC言語の良さは、やはりとっつきやすさが一番だと思います。その1でも書きましたが、
Visual Basic では、変数宣言を

 Dim hoge as String

とします。この 型が最後にやってくるスタイルは、「私は、なになに です」という主語、述語の順番で言葉が組み立てられる日本語の言語体系とあっていますよね。つまりコンピュータが普及していない世の中においては、日本語の言語体系と BASIC言語の言語体系はマッチしていて、普及に一役買ってくれたスタイルだったのかな、とも思っています。

それぞれの開発言語に、向いている、向いていない、があり、得意な言語、苦手な言語があるということになります(大量のデータの数値演算を繰り返す処理に、Javascriptなどのスクリプト言語は向いてないですよね)。使用言語を強制をする必要はないですが、今は、開発言語、手法を選べる時代になってきました。開発言語そのものを考えるより、実現したい仕様に合わせて何をどう利用するかを組み立てる必要のある時代にもなったということなのでしょうね・・。

ありがとう Visual Basic

長年利用されてきたアプリケーション開発言語も、いつかはサポートの終わりが来ることが実感できた出来事であり、同時にこのマイクロソフトの告知の出来事が、自分がシステムと携わってきた中で一番長く付き合い、数々の恩恵を受けてきた大切な「道具」が、もう発展をすることはないんだな・・ というちょっと寂しい気持ちになった出来事でもありました。
しかし、まだまだ我々は先に進まねばなりません。Visual Basicで学んだ事を生かしつつ、今後のエンジニア人生を充実したものにできるように、日々研鑽していくつもりです。
ありがとう、Visual Basic!!

どんな開発言語だって、仕様を実現すること、できることが大事!

最後に、BASICにまつわる思い出として、今から20年以上前に当時の就職先の会社の社員旅行で行った、岐阜県の下呂温泉のボウリング場の思い出を記して終わりにしようと思います。

いま(2022年)から20年以上前(当然、Windowsパソコンも発売されている時期)ですが、ボウリングをしに会社のメンバーとボウリング場に入ったところ、朝一番だったため、まだボウリング場のコンピュータボウリングシステムが起動していない状態でした。そこで受付の方が、ボウリング場のシステムを起動を始めた時、職業がら、どんな仕組みが動いているのかな?と思いカウンターを覗いていたのですが、(今や記憶は曖昧なのですが)受付の方が起動していたのは、おそらく NEC PC-9801(ぴぼ、っと起動音が鳴ったのを覚えています)!そして、制御アプリケーションは N88-日本語Basic で動作するコンピュータボウリングシステムでした!!
この組み合わせは当時でも相当なレトロな仕組みだと思います。

このとき、私自身は、
「ユーザーの実現したい仕様が実現できるのであれば、利用機器、開発言語は利用者側には関係ないことなんだなあ」
ということを強く感じ、非常に感心した思い出となっています(当時のエンジニアはこのハードウェア構成でシステム作るの大変だったろうなあ、と・・同時に思った次第です)。
そして現在、このボウリング場のことが記録をされていたサイトがあったので、
すいません、リンクを貼り付けておきます。
https://nakamaru300.blog.fc2.com/blog-entry-1385.html
上記は、2015年の記録ですので、もし私が訪れた当時のままから、継続してシステムが生き残っているのであれば、この N88-日本語Basicで作られたコンピュータボウリングシステムは、30年以上、みんなを楽しませるために黙々と仕事をこなしてきてくれていたものだと思うと、少し胸に熱いものを感じます。

そして今、強く再認識します!

やっぱり、自分自身でコーディングして、アプリケーション作成し、そのアプリケーションがコンピュータの上で動くところを見るのが好きなんだなと

コンピュータ(あえてこう表現します)で生計を立てている自分に、数々の自信と実績をもたらせてくれたもの。
それが一番近くに存在していたプログラム開発言語 Visual Basic であることは、これからも変わりません。

最後に・・

あらためて、ありがとう、Visual Basic!
https://docs.microsoft.com/ja-jp/previous-versions/technical-document/dd314356(v=msdn.10)

GitHubで編集を提案

Discussion