プログラム

スクリプトとは 〜用語解説〜

  • 閲覧数:64

スクリプトとは

スクリプトとはプログラムの種類の一つで、人間によるプログラミング言語で書かれたプログラム(ソースコード)を即時に実行できるようにしたものです。
そのようなプログラムを記述するための言語を「スクリプト言語」(scripting language)といいます。

スクリプトの仕組み

通常、プログラムは人間が書いたソースコードをコンピュータが理解できる機械語(マシン語)に変換(翻訳)して実行されます。なぜならコンピュータは人間が書いたプログラミング言語を直で理解ができないからです。

そのため、プログラミング言語で作られたプログラムは、コンパイルという操作を行い実行可能ファイルを作成しています。
コンパイルとは、プログラミング言語をコンピュータが理解できる機械語に変換することです。(この工程を行ってくれるソフトウェアのことをコンパイラといいます。)

コンパイルすることで、コンピュータは人間が作成したプログラムを理解することができます。
本来はこのコンパイルという作業をしなければコンピュータはプログラムを実行することができません。

しかし、スクリプト言語の場合はコンパイルをしなくても即座にプログラムを実行することができます

スクリプト言語で作られたプログラムは、コンピュータが理解できる機械語に変換しながら同時に少しずつ自動的に実行していきます。(この工程を行ってくれるソフトウェアのことをインタプリタといいます。)

さてここまで理解できましたか?

わかりやすく人に例えてみましょう。

 

英語(機械語)が喋れない日本の人(人間)が、日本語(プログラミング言語)がわからない海外の人(コンピュータ)日本語(プログラミング言語)で話していると思ってください。
当然海外の人は日本の人が何を言っているのかさっぱり理解できません。

 

そこで翻訳アプリを使用します。
日本の方(人間)翻訳(コンパイル)アプリ日本語(プログラミング言語)で話し、海外の方(コンピュータ)に翻訳アプリが訳した英語(機械語)を聞かせると、海外の方は理解できます。
この時の翻訳アプリをコンパイラと言います。

ではスクリプト言語の場合、

スクリプト言語の場合はコンパイルしなくても即座にコンピュータに理解させることができましたね。

ここでは日本の方(人間)が話している日本語(プログラミング言語)通訳の方が即座に英語(機械語)に訳す同時通訳をしていることになります。
そのため日本の方が話し終わっていなくても、海外の方はすぐに内容を理解できますよね。
この時の通訳の方をインタプリタと言います。

そのため、コンパイルしなくてもコンピュータはスクリプト言語で作られたスクリプトを理解することができます。
面倒で専門的な作業が不要というメリットの反面、機能や性能に一定の制約や制限があることが多いのがデメリットです。

スクリプト言語の種類

スクリプト言語にも種類があり、言語によっては通常の実行可能プログラム(スクリプト以外)と同じように、オペレーティングシステム(OS)などの上で独立して起動できる実行環境が用意されている場合もあります。
また、スクリプトは特にWebページ上で使用される簡易的なプログラミング言語全般を指すことがあります。

主なスクリプト言語の種類

  • シェルスクリプト(shell script)‥‥UNIX系OSのシェルで実行される言語
  • JavaScript‥‥Webブラウザで実行される言語(よく使う)
  • PHP、JSP、ASP‥‥Webサーバーで実行される言語(PHPはよく使う)
  • Ruby‥‥Webアプリケーション開発ができるバックエンドの言語
  • Python‥‥ディープラーニングやAIの開発ができるバックエンドの言語