対象試験と出題頻度

スクリプト言語は、ITパスポート・基本情報技術者・応用情報技術者のいずれでも出題されるテーマです。

「インタプリタとコンパイラの違い」を軸にした出題が定番であり、JavaScript・Ruby・Pythonなど具体的な言語の特徴を問う設問も繰り返し登場しています。

FE H31春期 午前 問19、AP R3秋期 午前 問7、AP R5秋期 午前 問7など、複数の試験区分で継続的に出題されています。

詳細をクリックして確認
対象試験:
ITパスポート
基本情報技術者
応用情報技術者
出題頻度:
★★★★☆
ランクA(重要)必ず覚えておくべき

用語の定義

情報処理試験を勉強していると、「スクリプト言語って普通のプログラミング言語と何が違うの?」と疑問に思うことがあります。

スクリプト言語(Script Language)とは、一言で言うと

 「ソースコードを事前にコンパイル(一括翻訳)せず、インタプリタが1行ずつ解釈しながら実行する軽量なプログラミング言語」

のことです。

イメージとしては、「同時通訳」です。

 

コンパイラ言語が「原稿を全文翻訳してから読み上げる翻訳者」だとすると、スクリプト言語は「話し手の発言を1文ずつリアルタイムで訳していく同時通訳者」に相当します。

翻訳の待ち時間なしにすぐ動かせる反面、1文ごとに変換するため処理速度はやや遅くなります。

📊 スクリプト言語の基本情報

項目 内容
英語名 Script Language / Scripting Language
代表的な言語 JavaScript、Ruby、PHP、Perl、Python、VBScript など
実行方式 インタプリタ方式(逐次解釈・実行)
対比される概念 コンパイラ言語(C、C++、COBOL等)

詳細解説

プログラムの実行方式は大きく「コンパイラ方式」と「インタプリタ方式」に分かれます。

スクリプト言語はこのうち後者を採用しており、書いたコードをすぐに動かせる手軽さが最大の利点です。

 

コンパイラ方式との違い

コンパイラ方式では、ソースコード全体を機械語(オブジェクトコード)に一括変換してから実行します。変換済みのコードを実行するため処理速度は速いものの、コードを修正するたびに再度コンパイルが必要です。

一方、インタプリタ方式はソースコードを1命令ずつ翻訳しながら実行するため、コンパイルの待ち時間がありません。修正→実行のサイクルが短く、Web開発やプロトタイピングのように素早い試行錯誤が求められる場面に適しています。

📊 コンパイラ方式 vs インタプリタ方式

比較項目 コンパイラ方式 インタプリタ方式(スクリプト言語)
翻訳タイミング 実行前にソースコード全体を一括翻訳 実行時に1命令ずつ逐次翻訳
実行速度 速い(翻訳済みの機械語を実行) 遅い(毎回翻訳処理が入る)
開発効率 修正のたびに再コンパイルが必要 修正後すぐ実行でき、試行錯誤が早い
エラー検出 コンパイル時に構文エラーを一括検出 該当行の実行時にエラーが判明
代表言語 C、C++、COBOL、FORTRAN JavaScript、Ruby、PHP、Perl

🔄 実行フローの違い(図解)

コンパイラ方式

ソースコード(全体)
一括翻訳
オブジェクトコード(機械語)
実行
実行結果

インタプリタ方式

ソースコード 1行目
翻訳+即実行
ソースコード 2行目
翻訳+即実行
ソースコード 3行目…
翻訳+即実行(繰り返し)
実行結果

代表的なスクリプト言語の特徴比較

IPA試験で名前が登場する主要なスクリプト言語を、用途と特徴で整理します。

📊 代表的なスクリプト言語の比較

言語 主な用途 試験で問われる特徴
JavaScript Webブラウザ上の動的処理、サーバーサイド(Node.js) Webページに対話的な機能を追加する言語。ECMAScriptとして標準化。JSON(JavaScript Object Notation)の元になった言語。
Ruby Webアプリケーション開発(Ruby on Rails) 日本人(まつもとゆきひろ氏)が開発。オブジェクト指向を強くサポートし、コードブロックをendキーワードで閉じる構文。
PHP サーバーサイドのWeb開発(WordPress等) HTMLに埋め込んで使えるサーバーサイドのスクリプト言語。動的なWebページ生成に特化。
Perl テキスト処理、CGI、システム管理 正規表現による高度なテキスト処理が得意。CGIスクリプトの初期に広く使われた。
▶ コードで見るスクリプト言語の手軽さ(クリックで展開)

以下は「Hello, World!」を表示するだけのコードです。スクリプト言語はコンパイル不要でそのまま実行できる手軽さが特徴です。

JavaScript(ブラウザのコンソールで即実行可能):

console.log("Hello, World!");

 

Ruby(ターミナルで ruby ファイル名.rb と打つだけ):

puts "Hello, World!"

 

C言語(コンパイラ方式)との比較:

// ① ソースコード作成
#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}
// ② コンパイル: gcc hello.c -o hello
// ③ 実行: ./hello

C言語は「ソースコード作成→コンパイル→実行」の3ステップが必要ですが、スクリプト言語は「ソースコード作成→実行」の2ステップで完了します。

「スクリプト言語」と「オブジェクト指向言語」の分類軸は別

ここだけは確実に押さえてください。

 

「スクリプト言語かどうか」は実行方式による分類であり、「オブジェクト指向かどうか」はプログラムの構造化手法による分類です。JavaScriptやRubyは「スクリプト言語であり、かつオブジェクト指向言語でもある」ため、2つの分類は排他的ではありません。

 

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 スクリプト言語の核心を3行で

・インタプリタが1命令ずつ翻訳しながら実行する言語(コンパイル不要)
・開発サイクルが速い反面、実行速度はコンパイラ方式より遅い
・JavaScript=Web動的処理+JSON由来、Ruby=日本発+endで閉じる構文、PHP=HTML埋込型のサーバーサイド


試験ではこう出る!

スクリプト言語に関する出題は、「インタプリタの定義を問う問題」と「具体的な言語の特徴を選ばせる問題」の2軸が中心です。

📊 過去問での出題実績

試験回 出題内容 問われたポイント
FE H31春期
午前 問19
インタプリタの説明として適切なものを選ぶ問題。 ・正解は「原始プログラムを解釈しながら実行するプログラム」
・コンパイラ・トランスレータ・ジェネレータとの混同がひっかけ
AP R3秋期
午前 問7
静的型付けのプログラム言語を選ぶ問題。選択肢にECMAScript、JavaScript、TypeScript、VBScriptが並ぶ。 ・正解はTypeScript(JavaScriptに静的型付けを追加した言語)
・JavaScript・ECMAScript・VBScriptは動的型付け
AP R5秋期
午前 問7
JavaScriptのオブジェクト表記に由来する、データ記述の仕様を選ぶ問題。 ・正解はJSON(JavaScript Object Notation)
・DOM、Ajax、RSSがひっかけ選択肢

📝 IPA試験での出題パターン

パターン1:「インタプリタの説明を選べ」
言語プロセッサ(コンパイラ・インタプリタ・アセンブラ等)の説明文が並び、インタプリタに該当するものを選ぶ形式。キーワードは「1命令ずつ解釈しながら実行」。コンパイラの「一括翻訳」との区別が問われる。

 

パターン2:「言語の特徴・由来を選べ」
JavaScript・Ruby・Perlなど特定の言語名を提示し、その特徴や関連仕様を問う形式。AP R5秋期 問7のようにJSONの出自を聞く問題や、AP R3秋期 問7のように型付けの違いを問う問題がある。

 

パターン3:「実行方式の違いで言語を分類せよ」
AP R2秋期 問7(FE R3免除 問10と同一問題)のように、インデントでブロックを指定する言語はどれかなど、構文上の特徴から言語を特定させる形式。

 

試験ではここまででOKです。「インタプリタ=逐次実行」「コンパイラ=一括翻訳」の対比と、JavaScript・Ruby・PHP・Perlの用途の違いを押さえれば得点できます。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. スクリプト言語の実行方式に関する説明として、最も適切なものはどれでしょうか?

  • A. ソースコード全体を機械語に一括変換し、変換後のオブジェクトコードを実行する方式。修正時には再度変換処理が必要になる。
  • B. ソースコードをアセンブリ言語に変換してからリンカで結合し、実行可能ファイルを生成する方式。
  • C. ソースコードを事前にコンパイルせず、インタプリタが1命令ずつ解釈しながらそのまま実行する方式。修正後すぐに動作確認できる。

正解と解説を見る

正解:C

解説:
スクリプト言語はインタプリタ方式を採用しており、ソースコードを1命令ずつ解釈しながら即座に実行します。FE H31春期 午前 問19でも「原始プログラムを解釈しながら実行する」が正解の表現として使われています。

選択肢Aはコンパイラ方式の説明です。C言語やC++のように、ソースコード全体を機械語に一括変換してから実行するため、処理速度は速いものの修正のたびに再コンパイルが必要です。選択肢Bはアセンブラ+リンカを組み合わせた処理の説明であり、スクリプト言語の実行方式とは異なります。


よくある質問(FAQ)

Q. JavaScriptとJavaは名前が似ていますが、同じ言語ですか?

全くの別物です。JavaはSun Microsystems(現Oracle)が開発したコンパイル+JVM実行型のオブジェクト指向言語であり、JavaScriptはNetscape社がWebブラウザ向けに開発したスクリプト言語です。名前が似ているのは当時のマーケティング上の理由にすぎません。IPA試験ではこの違いを前提にした選択肢が出ることがあるため、混同しないよう注意してください。

Q. Pythonはスクリプト言語に分類されますか?

分類されます。Pythonはインタプリタ方式で動作するスクリプト言語であり、同時にオブジェクト指向言語でもあります。IPAの基本情報技術者試験のシラバスでは「プログラム言語」の用語例にPythonが含まれており、FE R3年度免除 問10やAP R2秋期 問7で「オブジェクト指向かつインデントでブロックを指定する言語」として出題されています。

Q. ECMAScriptとは何ですか?JavaScriptとの関係を教えてください。

ECMAScript(エクマスクリプト)は、JavaScriptの基本部分を国際標準化団体Ecma Internationalが標準規格としてまとめたものです。JavaScriptはECMAScript仕様の代表的な実装であり、IPA試験ではAP R3秋期 問7で「ECMAScriptは動的型付けのプログラム言語」として選択肢に登場しました。TypeScriptはこのECMAScript(JavaScript)に静的型付けを追加した上位互換の言語です。

Q. スクリプト言語は実務ではどのような場面で使われていますか?

最も広く使われている場面はWeb開発です。JavaScriptはフロントエンドの標準言語であり、Node.jsの登場でサーバーサイドでも利用されるようになりました。RubyはRuby on Railsフレームワークを使ったWebアプリ開発で根強い人気があり、PHPはWordPressをはじめとするCMS(コンテンツ管理システム)で広く採用されています。また、Perlやシェルスクリプトはサーバーの運用管理やログ解析といった自動化処理に用いられています。