スクリプト言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/28 17:28 UTC 版)
スクリプト(英語で「台本・脚本」の意味)とは、その簡易的な言語記述方法を指してそう呼ばれるようになった。
概要
上記の意味より、さらに転じて、比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般をいう。変数に型をつけないなど、動的型付け言語をスクリプト言語と呼ぶ定義もある。ただし、厳密な定義ないし区別は存在しない。インタプリタ方式を採用しているものが多いが、性能向上のため実行時コンパイルなどの利用も盛んである。またGo言語の様にコンパイラ方式だが go run ソースファイル
とソースファイルを1コマンドで実行できるという言語もあるが、一般に「Goはスクリプト言語的な使い方もできる」と言えても「Goはスクリプト言語である」とは言わない。
前者(アプリケーションソフトウェアの動作内容を、台本のように記述し制御するためのプログラミング言語)の例としては、UNIXのシェルに対するシェルスクリプト、Emacsに対するLISP、Webブラウザなどに対するJavaScriptが挙げられる。また、機能を付け加える形で制御する場合もあり、HTTPサーバに機能を付け加えるために考えられたのがSSIやPHPである。特にスクリプトを名前に冠している言語は下記の表のように制御対象となるプログラムをもつ傾向にある。
後者(転じて意味付けされた、比較的単純なプログラムを記述するためのプログラミング言語全般)の例としては、PerlやPHPが挙げられる。Perlは、その初期においては、テキスト処理ツールの動作を記述するという前者の意味が強かったが、近年[いつ?]では主にCGIを利用して動的なウェブサイト(掲示板など)を構築するためのプログラミング言語として、後者の意味の点で発展したといえる。
なお、大変まれながら、特定のソフトウェアを実装するために使用したプログラミング言語のことを、スクリプト言語と呼ぶことがあるので注意したい。この意味では、「記述言語」と呼ぶ方が望ましい。たとえば、UNIXの記述言語はC言語であるといえる。
言語 | 制御対象 |
---|---|
シェルスクリプト | シェル(bash等) |
AppleScript | OSAX |
ActionScript | Flash |
JavaScript | ウェブブラウザー |
JScript | WSH |
VBScript | WSH |
PostScript | 印刷機 |
Vim script | Vim |
Drawscript | Illustrator |
AutoCAD Script | AutoCAD |
MaxScript | FinalRender |
歴史
世界初の対話型シェルは、タイムシェアリングシステムの遠隔操作のため、1960年代に開発された。そして、オペレータが同じコマンド列を端末のキーボードから何度も打ち込む手間を省くためスクリプティングの需要が生まれ、単純なマクロコマンドやコマンド列を格納したファイルを使う方式が開発された。これが最終的にシェルスクリプトの開発へと繋がった。また、大規模で複雑なアプリケーションの開発において、人間が介在しないバッチモードの操作を容易にするため、非常に基本的な埋め込み型スクリプト機能が開発された。すなわち、プログラムの一部としてユーザーが書いた命令列を解釈実行する機能を備えるようにした。この場合の命令列は非常に特殊な言語で書かれ、プログラムの中にプログラムを埋め込むようなものであった。
歴史的には、C言語などの高速なプログラミング言語とBourne ShellやAWKで書かれた低速なスクリプトは、明らかに性能に差があった。しかし技術の進歩に伴って性能差は縮まり、Perl、Ruby、Pythonといったインタプリタ型言語が汎用プログラミング言語として広く使われるようになっていった。
TclやLuaといった言語は、汎用スクリプト言語として設計されており、アプリケーションに埋め込む形で使うこともできるし、単独で使うこともできる。Visual Basic for Applications (VBA) などのシステムは、基盤となるシステムの自動化機構と強く結びついている。アプリケーション毎に新たな言語を開発せずに汎用スクリプト言語を埋め込むことには、明らかな長所がある。開発者が言語を解釈する機能を一から開発する手間を省き、ユーザーは既知の言語を使えるので学習の手間が省ける。
Common Gateway Interface (CGI) は、Webサーバをスクリプト言語で制御することを可能とする。早くからCGI用として使われたスクリプト言語としては、Perl、ASP、PHPなどがある。
ソフトウェアによっては、複数の異なるスクリプト言語に対応している。最近のウェブブラウザにはブラウザ自身を拡張できる言語があり、ブラウザ制御用の標準埋め込み言語として、ECMAScript (JavaScript) やCSSやHTMLがある。
- ^ “JavaScript for Automation Release Note” (HTML). Apple Inc.. 2014年9月4日閲覧。
- 1 スクリプト言語とは
- 2 スクリプト言語の概要
- 3 スクリプト言語の種類
- 4 脚注
固有名詞の分類
- スクリプト言語のページへのリンク