Translate

IE廃止トラブルの二の舞いは避ける為VBSから今直ぐに乗換えを始めよう! | Visual Basic Scriptは将来削除

MicrosoftがVBAを非推奨にし最終的にはWindowsから削除予定




レガシーVB自体がCOBOL化し始めている


昨今、オフコンで多用されていたCOBOLやRPGを多用したシステムは、言語自体がほぼ化石化しており、無くなると分かっている言語で作られたシステムを引き継ぎたいと思うエンジニアはいない。

今の時代からCOBOL→オープン化を部分的ではなく、一気に始めると、費用を抑える為に機能削減ともしようものなら、それなりの100%カオスな状態が発生する。

VBSも徐々にその仲間入りを仕掛けている。

Windows95が出てから相当年は、Windowsアプリケーションを驚く程短時間で開発出来てしまうこのマイクロソフト社製の言語でシステム開発を携わったエンジニアも多いだろう。

色々成熟期を長く過ごしたこの言語は、オブジェクト指向の中途半端な振る舞い、OSバージョンアップ毎に動作しない事もあり、割りとJavaとにた思考で、.Netシリーズへと変化した。

VisualBasicがレガシーとなって、さらに年月が進むにつて、WEBシステムも躍進し、Microsoft社製言語はあらゆるシーンの開発が行える、C#言語が最も人気を博し、レガシーVisualBasicを今から習得したい層は激減したようだ。

因みにExcelに付随するVBA(VisualBasicApllication)でさえ、Excelの自動化機能で、似た事が出来る且つWEB版でも使用可能なスクリプト言語が登場し、度々Microsoft社がPythonも候補では?という記事も目にする位の扱いとなった。

その中でも特にVBSは異質の存在

VBAはExcelに付随しているので触った人も多いと思うが、そういった人でもVBSは触った事が無いって言う人も多いのでは?

VisualBasicScriptは、メモ帳アプリで記述する事が出来てしまい、且つ拡張子を.vbsとし、実行はダブルクリックするだけというお手軽さだ。

使われ方は、WindowsのCMDで使用するBATファイルでは実現が難しい場合に、安価で容易に解決しようとするシーンである場合だ。(その場合にVBSを選択する事もそこそこ稀)

この容易に実行出来てしまう状態が悪意あるセキュリティの脆弱性をつく攻撃を容易にもしている。

基本的なサポートしている開発環境も基本的には無い為、プログラムが小規模で収まらない場合は、Javascriptのようなカオスさでコード管理、デバッグを行う必要もあり、敬遠しているエンジニアも多く、この言語が採用されるシーンは余りなくなってきている。

昨今は、AsteriaやDataSpiderと言ったノーコード言語も出来てきており、より役目が衰退したと言っても良い。

活躍の場も減り、致命的なセキュリティ脆弱性を生み出すこの言語を、Microsoft社がいよいよ削除するプロセスに入りだした。

昨年、突如VBSは非推奨とし、将来的には削除予定とのアナウンスだ。

IEの廃止も甘く見ていた日本のエンジニアも多く、実際に廃止された際にはそこそこトラブルで賑わった。

あれだけ何年もアナウンスされていたのに、トラブルが起きるまで放置するスタイルが日本のエンジニアらしくて情けない所でも有るが。

VBSの後継は?

VBSと似た性質で開発が可能な言語の後継として良く上がるのがPowerShellだ。

VBSとは異なって、Windowsの検索で「ISE」と入力すると、開発環境まで用意されており、VBSよりは開発がやり易いようだ。

といっても、言語はVBSとは全く異なっており、Javascriptや.NET言語系に似た記述が多い。

また実行も、単純にダブルクリックだけでは動作しない頑丈さが、逆に使いにくく、PowerShellを使用する規模ならいっそC#言語等で開発をした方が言語の学習コストも下がり、便利ではないだろうか?

使用する言語の種類を減らす事が、将来的な引き継ぎコストも抑制出来、システムの継続性にもつながるとのではないだろうか?

このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法