スクリプト言語
スクリプト言語とは、プログラミング言語の種類・分類のひとつで、(スクリプト言語以外と比べて)簡易的な表記で書くことができる[1]言語を指す。
概要[編集]
スクリプト言語でないプログラミング言語は、ごく小さなプログラムでも最小限の宣言や定義を記述する必要がある[2]。それに対して、スクリプト言語はそれらの宣言や定義をしなくても実行可能なコードを書くことができる。Hello_worldプログラムの一覧のうち、1行で書ける言語が概ね該当し、例えばLuaのprint("Hello, world!")
が典型的である。ただし、LISP系の場合は1行で書けるが「最小限の宣言や定義」を必要とする言語に該当するので、スクリプト言語ではない。
極端な話、全ての行を宣言や定義なしで際限なく巨大なコードを書くこともできる。ただし、これは可読性や保守性が非常に低くなってしまうので、実際はスクリプト言語であっても宣言や定義を組み合わせたりファイルを分割したりする[3]。
また、スクリプト言語は、コンパイルをせずに実行できる[4]ものが多い(インタープリター方式)。
なお、この比較は、どちらの言語が絶対的に優れているかどうかを論じるものではない。
コンパイルを行わないということは、作成した環境以外の環境で動作させるにはソースコードをそのまま持ってこなければならないということ。ソースコードは(プログラミング言語に明るければある程度内容が分かるものであり、アイデアを盗用されたり、勝手に改悪されてウイルスを仕込まれたりするリスクも伴う。近年はPowerShellで記述されたウイルスが台頭している。
スクリプト言語・インタープリターによっては改変への対策として、ソースコードへ電子署名したり、ソースコードの電子署名を要求したり出来るものも。
スクリプト言語で記述したソースコードはしばしば、単に「スクリプト(Script)」とも呼ばれる。ちなみにスクリプトの直訳は「台本」。
代表的なスクリプト言語には、Perl、PHP、Ruby、Python、Javascriptなどがある。
UNIX、LinuxにおけるUnixシェル、Windowsバッチファイル、Windows Script HostのWSHスクリプト(VBScriptまたはJScript)、およびPowerShellスクリプトもすなわちスクリプト言語。
また、Emacs LISP、秀丸エディタの秀丸マクロなど、独自のスクリプトを記述して実行させることで自身を自動制御したり、他アプリケーションと連携したりできるアプリケーションもある。