エンジニアの知識

プログラムとスクリプトの違いとは?

2020年4月1日

IT業界にいると、用語の厳密性に頭を悩まします。特にプログラムという言葉は、誤用が多く見られます。これは特に、プログラムとスクリプトと対比したとき、その誤用が顕著に見られます。

ポイント

  • スクリプトとは何か
  • プログラムとは何か
  • スクリプトとプログラムの違いは何か

スクリプトとは何か

スクリプト(Script)」という言葉は、ラテン語の「scriptum(文章)」が語源になっています。現在の英語においては「台本」や「脚本」、「手書き」などの意味です。

ファンタジー小説やRPGが好きな方には、「魔法の呪文」という意味を思い浮かべるかも知れません。コンピューターシステムにおける「スクリプト」もそれらと似ています。

スクリプトとは、人間が理解しやすい言葉で記述された、コンピューター上で実行できる命令の集合体です。このような用途で用いるスクリプトは、特定の「スクリプト言語」(Script Language)の定めに従って記述されます。

スクリプト言語はコンピューターだけでなく、最近ではロボットを制御したり、またはゲーム内機能の拡張などにも用いられています。そのためスクリプト言語には、有名なものから無名なものまで、多種多様に存在します。

有名なスクリプト言語の一例

  • JavaScript
  • Lisp
  • Lua
  • R
  • Python
  • Ruby
  • Bash
  • etc…

プログラムとはなにか

プログラム(Program)」の語源はギリシャ語「graphein」(書く)に、前置詞の「pro」(公にする)が合わさって生まれた言葉です。プログラムの本来の意味は「公示する」になります。それがラテン語に取り入れられ、「pro-gram」(文に書き示す)という形に変化しました。現在、プログラムという言葉は多くの意味を持っていますが、概ね以下の意味です。

・舞台や映画・公演の「演目」
・何らかの「計画」
・コンピューターシステム等における「一連の命令」

私達ITエンジニアにおいては、プログラムというと「コンピューターシステム等における一連の命令」がプログラムです。

両者の違いとは?

よく新入社員に聞かれる質問として「プログラムとスクリプトって何が違うんですか?」というものがあります。

スクリプトの語源/意味

  • 語源:scriptum
  • 台本
  • 脚本
  • 手書き

プログラムの語源/意味

  • 語源:pro-graphein、pro-gram
  • 公示する
  • 文に書き示す
  • 演目
  • 計画

両者の意味が、とても似通っていることに気づくと思います。ですが、プログラムとスクリプトには、明確な違いがあります。

プログラムとスクリプトの違い

  • スクリプトとは、人間が理解できる形で記述された、一連の命令の総称
  • プログラムとは、人間もしくは機械が理解できる形で記述された、一連の命令の総称

要するに、プログラムとスクリプトの違いは、プログラムの方が概念が大きいということです。これは、プログラムの中にスクリプトとも含まれるということを意味します。

スクリプト言語は、実行の際にインタープリターという仕組みを用います。要は「実行の際に、プログラム(スクリプト)とコンピュータの間に入って、命令の翻訳をしてくれる仕組み」のことです。

対して、プログラムをコンピュータが直接扱えるように、機械語へ翻訳する仕組みがあります。これをコンパイラーといいます。機械語に翻訳されたプログラムは、実行の際にコンピューターと1対1で命令を行えるために、効率よく動作します。

プログラムとスクリプトの違いにおいて、インタープリターとコンパイラーは直接には関係ありません。スクリプト言語はインタープリターを用いますが、コンパイラーを搭載したスクリプト言語も存在しますし、サードパーティがコンパイラーを提供することもあるからです。

また、Javaはコンパイラーを用いてコンパイルしますが、コンパイルの結果得られるものは、中間コードです。これらの関係から、スクリプトとプログラムの対比に、コンパイラーやインタープリターを用いることは不適切であることが理解できるでしょう。

よく読まれている記事

1

独立前は、誰もが不安でいっぱい。近い将来、フリーランスとして独立を考えている方が独立初期に躓かないために「独立前にやるべきことチェックリスト」をご紹介します。 当記事は前編となる「お金まわり編」。全て ...

2

ゲームなどのエンタメ分野での導入が進んでいるVR。言葉自体は耳にしたことがあっても、その意味を詳しく知らないという人も多いのではないでしょうか。また、次世代の新たな技術をビジネスに積極的に活用していく ...

3

フリーランスの確定申告には、青色申告と白色申告の2種類があります。いったいどちらの申告方法を選ぶべきなのでしょうか。 この記事では、青色申告と白色申告、それぞれのメリット・デメリットを把握することでベ ...

4

フリーランスの仕事場は、自宅をはじめとし、カフェや図書館、コワーキングスペースなど自由に選べます。しかし全ての場所で100%集中ができるどうかは、人それぞれです。どのような環境が自身の仕事場として快適 ...

5

フリーランスのITエンジニアとして、一番難しいのは「自己管理」と言えるでしょう。 自分の体調管理はもとより、仕事のスケジュール等すべて自分で管理します。もちろんフリーランスに有給休暇等ありませんから休 ...

-エンジニアの知識

Copyright© Beエンジニア , 2020 All Rights Reserved.