【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学習に役立つサイト
この記事が気に入ったらサポートをしてみませんか?