scripting languageとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > scripting languageの意味・解説 

スクリプト言語

読み方スクリプトげんご
【英】script language, scripting language

スクリプト言語とは、プログラミング言語のうち、プログラム記述実行比較簡易に行うことができる言語総称である。

非常に多く場合、スクリプト言語はインタープリタ型言語であり、コンパイラ型言語比べて実行までの処理の手間がかからないという特徴持っているまた、他のプログラミング言語比べると、英語のような自然言語に近い記述用いてプログラミングすることが可能であり、習得比較的容易であるとされる

スクリプト言語の中にはデスクトップアプリケーションで処理を自動化するために用いられるマクロ言語なども含まれるが、通常、スクリプト言語と言った場合は、Webブラウザ上で動作する簡易プログラム記述するための言語を指す場合がほとんどである。代表的なスクリプト言語としては、JavaScriptPerlPythonPHPRubyなどを挙げることができる。

JavaScriptは、Webページにおいてインタラクティブ性実現するための手法として注目されAjax実現するための要素技術一つとして用いられている。かつてはセキュリティ上の脆弱性観点からユーザー側での利用制限される場合もあったが、セキュリティ関連技術の向上に伴いページ遷移伴わずに(非同期で)画面描き直せるといった利便性再評価され最近ではWebアプリケーション開発言語として盛んに採用されている。

なお、パソコン上で用いられるスクリプト言語としては、1987年登場したHyperTalk最初期注目され言語であるとされるHyperTalkは、Mac OS用ソフトウェアであるHyperCard搭載されハイパーテキストをさまざまにコントロールすることを可能とした。また、HyperTalk影響受けて開発されMac OS標準搭載されAppleScriptは、Mac OS上のアプリケーションソフト間のデータ連携自動処理容易に行うことができ、ユーザー高く評価された。

ちなみに日本語プログラミング言語として無償配布されている「なでしこ」もスクリプト言語である。

プログラミングのほかの用語一覧
スクリプト言語:  Ruby  Ruby on Rails  シェル  スクリプト言語  VBScript  WSH  Windows PowerShell

スクリプト言語

(scripting language から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/28 17:28 UTC 版)

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

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

概要

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

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

後者(転じて意味付けされた、比較的単純なプログラムを記述するためのプログラミング言語全般)の例としては、PerlPHPが挙げられる。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 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の出現により、コンピュータの制御のための特殊なスクリプト言語も生み出された。それは、ウィンドウ、メニュー、ボタンなどのシステムが生成したものとやり取りする言語であり、人間の手が行うことをシミュレーションする。これらの言語はユーザーが行うことを自動化し標準化するもので、一般にマクロ言語などと呼ばれる。

原理的にはGUIベースのコンピュータ上で動作する任意のアプリケーションを制御できるが、一般に特定のアプリケーションやオペレーティングシステムに対応してマクロ言語が存在する。しかし、中には画面上のピクセル配置からグラフィカルなオブジェクトを認識して操作する言語もあり、その場合はOSやアプリケーションに依存することなく操作可能である。

アプリケーション専用言語

大規模なアプリケーションプログラムの多くは、固有のスクリプト言語を備えており、そのアプリケーションのユーザーが必要に応じてそれを使う。同様に、コンピュータゲームシステムの多くに固有のスクリプト言語があり、NPCの振る舞いや環境のプログラミングに使われている。このような言語は1つのアプリケーションのためだけに設計されている。表面上は特定の汎用言語に似ているものもあるが(例えばQuakeにはC言語に良く似たQuakeCがある)、汎用言語にはない特有の機能を有していることが多い。Emacs Lisp は機能を完備したLISP言語の方言だが、Emacsの機能の拡張や変更に便利な特殊機能を数多く備えている。アプリケーション専用のスクリプト言語は、特定アプリケーションに特化したドメイン固有言語と見ることもできる。

Webブラウザ

Webブラウザは、ウェブページを表示するためのアプリケーションである。その操作を制御するための専用言語が開発されてきた。例えば、JavaScriptマイクロソフトVBScriptInternet Explorer でのみ動作)、MozillaプロジェクトのXULFirefoxでのみ動作)、XMLコンテンツを新たな形式に変換して表示するためのXSLTなどがある。ユーザーの印象を良くして反応を引き出すためにXMLとJavaScriptの組合せを利用した技法が広く採用されるようになり、Ajaxという名前まで付けられるようになっている。

Webサーバ

HTTPリンクにおけるサーバ側では、アプリケーションサーバCMSなどの動的コンテンツサーバでも、様々なスクリプティング技法を活用している。この領域でよく使われるのは、PHPJSPASP などだが、他にも Ruby on Rails などが一部で人気を得ている。

テキスト処理言語

テキスト処理は古くからあるスクリプト言語の用途の1つである。UNIXのツールであるAWKsedgrep 向けに書かれたスクリプトは、テキスト形式の設定ファイルやログファイルに関する処理を自動化するのに使われてきた。この分野では正規表現が重要である。テキスト処理用スクリプト言語では、正規表現を使って処理対象の構造を形式的に表現する。

Perlはもともと、テキスト処理ツールの限界を超えることを目的として開発されたが、現在ではより汎用的な言語に成長している。

汎用動的言語

Perlなどの言語はスクリプト言語として生まれたが、より広い用途に使えるプログラミング言語に成長していった。Perlとよく似た言語で、実行中に解釈され、メモリ管理機能があり、動的な言語は、それぞれ相互に似ていることから「スクリプト言語」と呼ばれることもある。しかし、実際にはアプリケーション本体の記述に使われることが多い言語もある。一般に、それらの言語の作者が自ら「スクリプト言語」と呼ぶことはない。

拡張/埋め込み型言語

アプリケーション専用のスクリプト言語の代替として、アプリケーションプログラムに埋め込める言語は、これまでいくつも設計されてきた。(C言語などを主に使う)アプリケーションプログラマが、そのアプリケーションを制御させるためにスクリプト言語用「フック」をプログラムに作りこむ。そのような言語はアプリケーション専用の拡張言語と同じ用途に使用されるが、別のアプリケーションとスクリプトについてのスキルを共有できるという利点がある。JavaScriptはウェブブラウザ内のスクリプト言語として生まれ、今もその用途が大半だが、ECMAScriptとして標準化されたことで、汎用の埋め込み用言語としても広まった。特にMozillaが実装したSpiderMonkeyYahoo! Widget Engine などいくつかの環境に埋め込まれている。ECMAScriptの実装(処理系)を埋め込んでいる他の例としては、アドビの製品であるAdobe FlashActionScript)やAdobe AcrobatPDFファイルのスクリプティング用)がある。

Tclは拡張言語として生まれたが、PythonPerlRuby などと同じように汎用言語として使われることが多い。

複雑で用途が限定されたアプリケーションでは、通常のユーザインタフェースで提供可能な機能とは別に埋め込み型プログラミング言語を備え、ユーザーにさらなる制御手段を提供している。例えば、3DオーサリングツールMayaはMELというスクリプト言語を内蔵している。また、Blenderはその用途にPythonを採用している。

機能を頻繁に追加する場合や、色々試しては実行してみるような場合(例えば、ゲームエンジン)も、埋め込み型言語を利用している。開発中のプロトタイピングに威力を発揮し、プログラムの中核部を知らなくてもアプリケーションの機能をいじることができる。この用途のスクリプト言語としては、LuaPythonが有名だが、他にもAngelScriptやSquirrelなどがある。

その他のスクリプト言語

脚注

出典

  1. ^ JavaScript for Automation Release Note” (HTML). Apple Inc.. 2014年9月4日閲覧。

関連項目

外部リンク


「scripting language」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「scripting language」の関連用語

scripting languageのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



scripting languageのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【スクリプト言語】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのスクリプト言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS