見出し画像

【JScript】インフラエンジニアが使う言語としてJScriptは選択肢に入るのではという話

はじめに

インフラエンジニアをしていると、実行結果の文字列を整形し確認を簡単にできるようにしたり、既存configを文字列処理して想定configに変換したり、もろもろマクロで処理したいと思うときがあります。

一部インフラエンジニアの方には通じると思いますが、PCを使うときに
 ・使う端末が日によって変わる
 ・どんなアプリケーションがインストールされているかが使う端末による
 ・アプリケーションのインストールにはハードルがある
 ・officeすら入っていない端末もある
といったことがあります。

そんな状況で使用可能な言語に求められる特徴は下記になります。
 ・環境構築が不要
 ・やりたいことができる
 ・できれば学習コストが低い

具体的には、インストール不要で文字列処理やファイル入出力が可能な言語が必要です。

上記に該当する言語(やツール)としては
 ・bat
 ・VBScript
 ・JScrript
 ・PowerShell
 ・(Teratermがあれば)ttl
 ・(officeがあれば)VBA
 ・(サクラエディタがあれば)サクラエディタのマクロ
 ・(秀丸があれば)秀丸のマクロ
などがあげられます。

言語の将来性

VBScriptは2023年10月にMicrosoft社からは廃止予定とアナウンスされています。
一方、PowerShwellは2006年にリリースされ、windows7以降は標準搭載されています。また2024年にも更新がされているものの、言語の使用がバージョンによって異なることがあります。

実装の容易さ

CMDは、findstrを使って正規表現で検索したり、文字列を置換したり思ったよりできることは多いです。が、これを使って実装するのは骨が折れそうです。
JScriptとPowerShellはプログラミング言語として必要な機能がそろっているため、実装の容易さはあまり変わらないと思います。

学習コスト

JScriptはJavaScriptと似た文法になっています。というのも1999年3月に公開されたJavaScriptの仕様に沿った言語となっています。そのため、JavaScriptを触ったことある人にはとっつきやすいです。また、文法がシンプルなので理解しやすい/書きやすいと思います。一方で、昔に更新が止まっておりリファレンスは潤沢ではありません。

PowerShellはPerlやC#やBashを合わせたような文法に見えます。リファレンスも潤沢なため、今後学習するならJScriptよりよいと思います。一方で、実行ポリシーの概念や管理者権限の有無や、バージョン差異など、JScriptより意識すべきことは多いです。

おわりに

使うならJScriptかPowerShellでやりたいことはどちらもできそうです。
将来性とリファレンスの潤沢さはPowerShell、シンプルさや学習ハードルの低さはJSscriptだと思います。
そのため、初学習者やJavaScriptを将来書きたい人や、JavaScriptを書いたことがあるうえで簡単に実装したい人はJScriptがおすすめです。それ以外の方はPowerShellがおすすめです。

参考

参考1:MicrosoftLearn

※「JScritpの概要」に「Microsoft® JScript® (以下 JScript) は、Microsoft による ECMA 262 規格仕様の言語 (ECMAScript Edition 3) です。」と記載あり

参考2:JavaScriptのバージョンについて

ECMAScript Edition 3は1999年3月公開

参考3:JScript学習に役立つサイト


この記事が気に入ったらサポートをしてみませんか?