スクリプト言語
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

ウィキペディア上でのLuaスクリプトの利用については→「Wikipedia:Lua」を参照。

スクリプト言語(スクリプトげんご、英語: scripting language)とは、アプリケーションソフトウェアを作成するための簡易的なプログラミング言語の一種を指す。

スクリプト(英語で「台本脚本」の意味)とは、その簡易的な言語記述方法を指してそう呼ばれるようになった。
概要

上記の意味より、さらに転じて、比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般をいう。変数をつけないなど、動的型付け言語をスクリプト言語と呼ぶ定義もある。ただし、厳密な定義ないし区別は存在しない。インタプリタ方式を採用しているものが多いが、性能向上のため実行時コンパイルなどの利用も盛んである。またGo言語の様にコンパイラ方式だが go run ソースファイル とソースファイルを1コマンドで実行できるという言語もあるが、一般に「Goはスクリプト言語的な使い方もできる」と言えても「Goはスクリプト言語である」とは言わない。

前者(アプリケーションソフトウェアの動作内容を、台本のように記述し制御するためのプログラミング言語)の例としては、UNIXシェルに対するシェルスクリプトEmacsに対するLISPWebブラウザなどに対するJavaScriptが挙げられる。また、機能を付け加える形で制御する場合もあり、HTTPサーバに機能を付け加えるために考えられたのがSSIやPHPである。特にスクリプトを名前に冠している言語は下記の表のように制御対象となるプログラムをもつ傾向にある。

後者(転じて意味付けされた、比較的単純なプログラムを記述するためのプログラミング言語全般)の例としては、PerlPHPが挙げられる。Perlは、その初期においては、テキスト処理ツールの動作を記述するという前者の意味が強かったが、近年[いつ?]では主にCGIを利用して動的なウェブサイト掲示板など)を構築するためのプログラミング言語として、後者の意味の点で発展したといえる。

なお、大変まれながら、特定のソフトウェアを実装するために使用したプログラミング言語のことを、スクリプト言語と呼ぶことがあるので注意したい。この意味では、「記述言語」と呼ぶ方が望ましい。たとえば、UNIXの記述言語はC言語であるといえる。

言語制御対象
シェルスクリプトシェル(bash等)
AppleScriptOSAX
ActionScriptFlash
JavaScriptウェブブラウザー
JScriptWSH
VBScriptWSH
PostScript印刷機
Vim scriptVim
DrawscriptIllustrator
AutoCAD ScriptAutoCAD
MaxScriptFinalRender

歴史

世界初の対話型シェルは、タイムシェアリングシステムの遠隔操作のため、1960年代に開発された。そして、オペレータが同じコマンド列を端末のキーボードから何度も打ち込む手間を省くためスクリプティングの需要が生まれ、単純なマクロコマンドやコマンド列を格納したファイルを使う方式が開発された。これが最終的にシェルスクリプトの開発へと繋がった。また、大規模で複雑なアプリケーションの開発において、人間が介在しないバッチモードの操作を容易にするため、非常に基本的な埋め込み型スクリプト機能が開発された。すなわち、プログラムの一部としてユーザーが書いた命令列を解釈実行する機能を備えるようにした。この場合の命令列は非常に特殊な言語で書かれ、プログラムの中にプログラムを埋め込むようなものであった。

歴史的には、C言語などの高速なプログラミング言語とBourne ShellAWKで書かれた低速なスクリプトは、明らかに性能に差があった。しかし技術の進歩に伴って性能差は縮まり、PerlRubyPythonといったインタプリタ型言語が汎用プログラミング言語として広く使われるようになっていった。

TclLuaといった言語は、汎用スクリプト言語として設計されており、アプリケーションに埋め込む形で使うこともできるし、単独で使うこともできる。Visual Basic for Applications (VBA) などのシステムは、基盤となるシステムの自動化機構と強く結びついている。アプリケーション毎に新たな言語を開発せずに汎用スクリプト言語を埋め込むことには、明らかな長所がある。開発者が言語を解釈する機能を一から開発する手間を省き、ユーザーは既知の言語を使えるので学習の手間が省ける。

Common Gateway Interface (CGI) は、Webサーバをスクリプト言語で制御することを可能とする。早くからCGI用として使われたスクリプト言語としては、Perl、ASPPHPなどがある。

ソフトウェアによっては、複数の異なるスクリプト言語に対応している。最近のウェブブラウザにはブラウザ自身を拡張できる言語があり、ブラウザ制御用の標準埋め込み言語として、ECMAScript (JavaScript) やCSSHTMLがある。
スクリプト言語の種類
ジョブ制御言語とシェル詳細は「シェルスクリプト」を参照

スクリプト言語の一種は、ジョブ制御の自動化から生み出されたもので、システムプログラムの起動と制御を行う。そういう意味ではシェルの祖先としてIBMの Job Control Language(JCL、ジョブ制御言語)があるとも言える。この種の言語の処理系(インタプリタ)の多くは、UNIXシェルやMS-DOSのCOMMAND.COMといったコマンドラインインタプリタと呼ばれるものである。他にも英語のようなコマンドでスクリプトを書ける AppleScript などもある。macOS では、CocoaAppleScript或いはJavaScript[1]を使ってアプリケーション全体を構築することもできる。
GUIスクリプト

GUIの出現により、コンピュータの制御のための特殊なスクリプト言語も生み出された。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:27 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef