ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


スクリプト言語


ヨミ: スクリプトゲンゴ
掲示板をミル!
4カキコ!

スクリプト言語とは、プログラミング言語の一分類である。反対コンパイラ


概要


スクリプト言語とは、事前コンパイルを必要とせず、実行時にソースコード(スクリプト)をインタプリタが解釈して実行するタイププログラミング言語である。

上記定義について冷静に考えると、処理系の問題であって言仕様とは関係がない。つまりスクリプト言語と呼ばれている言でも、コンパイラを開発して実行前にコンパイルするようにすればコンパイラになってしまう。

だが、現実には一つのプログラミング言語の処理系インタプリタコンパイラ両方が存在することがまれであり、言開発者が提供した処理系リファレンス実装にしてデファクトスタンダードである場合が大半である。従って、スタンダードな処理系(たいていは言開発者が提供している処理系)がインタプリタを用いるようになっているプログラミング言語をスクリプト言語と呼ぶということでだいたいあってると思われる。


概要の概要


通常:

  1. プログラムを書く
  2. コンパイル出来る環境コンパイルする(.exeみたいなファイルが出来る。バイナリと呼ばれる)
  3. バイナリを実行できる環境で実行する。

 

スクリプト言語:

  1. プログラムを書く
  2. 実行できる環境で実行する

スクリプト言語は、上記のように"コンパイル"という手順をいて書いたプログラムを直接実行できるようにした言である。2の手順が必要な言コンパイルという。

手番だけで言うと、コンパイルをする人(コンパイラさんといいます)が一緒に実行までやれば、そのプログラムコンパイルという理屈も通るんだけど、そういったことは滅多にないから”プログラムをそのまま実行できれば”スクリプト言語って認識でいいよ”!きっと

 

※ここから概要

手番が少ないなんて、便利だね!スクリプト言語!

 

でも、不便な点もあって、手番が減っている=手番で細かく制御したいことをかにやられるってことなので、メモリ制御や実行速度など、精密な処理を制御したい場合はスクリプト言語では限界があるよ!

もっと好きに作りたい場合は、C言語みたいな根本的な言にもレッツトライ!

 

※便宜上、プログラムスクリプトといった実行に必要なテキストをすべて"プログラム"と表現


傾向


定義は言仕様に関係しないと述べたが、言仕様については以下のような傾向がある。


細かい例外


コンパイルというとソースコードをを機械語に変換することをしていたが、中間言Javascriptに変換することもコンパイルと呼ぶことが増えている。

TypescriptなどJavascriptに変換されてから実行されるプログラミング言語では、コンパイラを必要とするにも関わらず、分類はスクリプト言語になる。

最終的に実行するのが(その言自身のインタプリタでなくても)スクリプトインタプリタであればスクリプト言語ということになるだろうか。


ほとんどだれも触れない例外


定義は言仕様に関係しないと述べたが、これも例外がある。

スクリプト言語にできてコンパイラにできない芸当が一つだけあって、スクリプト言語では、プログラムが自ら生成したスクリプトプログラム自身の一部として呼び出して実行することが(言仕様上禁止されていなければ)原理的には可である。

コンパイラでも生成したコードコンパイルして実行することができるかもしれないが、メジャーな言で実際にそのような機を備えた言はない。

もっとも、プログラミング言語にはリフレクションなどそういったことの代わりをする機が備えられていることも多く、実際にこのようが技法が使われることはほとんどない。

一方で、スクリプト言語には逃れられない宿命がある。たとえば商用のクライアントアプリケーションを開発しようと思っても、ユーザー環境にあるインタプリタソースコートを読み込んで実行するという制度上、ソースコードユーザーから隠すことはできないのだ。

コンパイラを開発すれば(リバースエンジニアリング全に防ぐことはできないが)、ある程度解決するかもしれないが、もちろんコンパイラを開発するなど労を考えれば現実的でないのは明らかで、そもそもコンパイラを開発したらコンパイラになってしまう。実際にはアプリケーションを自社のサーバー側に移すなどの対策をするのが現実的な対応になる。


スクリプト言語の例


以下にスクリプト言語とされる(ことの多い)プログラミング言語の一部を示す。


関連動画



■sm17114513[ニコ動]

■sm9239633[ニコ動]


関連商品


■az4774149748
■az4844331558


関連コミュニティ


■co534
■co406


関連項目



最終更新日: 18/02/17 20:58
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ