教科書一覧へ

代表的なプログラム言語の種類

低頻約 21 分プログラム言語

概要

本ユニットでは、C・Fortran・Java・C++・Python・JavaScript・R という代表的なプログラム言語の種類と、それぞれの用途・特徴を学びます。言語を知ることはプログラミング分野すべての前提であり、試験では「この用途に向く言語はどれか」を問う形でよく出題されます。

用語7

C

ハードウェアに近い処理も書ける、古典的で高速な手続き型言語。

C(シー)は1970年代に作られた手続き型のプログラム言語で、メモリやハードウェアに近い低レベルの制御ができ、動作が高速なのが特徴です。OS や組込みソフトウェアなど、性能や機械寄りの制御が求められる場面で広く使われてきました。 多くの後発言語(C++ や Java、JavaScript など)が C の文法を受け継いでおり、「多くの言語の祖」とも言える基礎的存在です。試験では、手続き型の代表で高速・低レベル制御に向く言語として、後述の C++ や Python との特徴の違いを問われます。

たとえ材料を一から自分で組む昔ながらの手作り工具のようなもの。手間はかかるが細部まで自分で制御でき、速く動かせます。

記憶フックCといえば高速で低レベル制御もできる手続き型の祖

Fortran

科学技術計算向けに作られた、世界初期の高水準プログラム言語。

Fortran(フォートラン)は1950年代に登場した非常に古い高水準言語で、数値計算・科学技術計算を得意とします。名前自体が「Formula Translation(数式の翻訳)」に由来し、数式をそのまま書くような感覚で計算プログラムを記述できます。 気象シミュレーションや物理計算など、大量の数値計算が必要な分野で今も使われています。試験では、C と並ぶ初期の代表的言語であり、用途が「科学技術計算」に特化している点を押さえておけば十分です。

たとえ計算尺や関数電卓を進化させたような、数式計算に特化した古参の道具。難しい数式の計算を任せるのが得意です。

記憶フックFortranといえば科学技術計算向けの初期の高水準言語

Java

環境に依存せず動く、オブジェクト指向の代表的な汎用言語。

Java(ジャバ)はオブジェクト指向プログラミングの代表的な言語で、本ユニットで最も出題頻度が高い重要語です。プログラムを「オブジェクト」という部品の組み合わせとして設計でき、大規模な業務システムの開発に広く使われます。 最大の特徴は「一度書けばどこでも動く(Write Once, Run Anywhere)」で、Java仮想マシン(JVM)上で動くため OS の違いに依存しにくい点です。試験では、オブジェクト指向の代表であること、環境非依存(機種・OS を選ばない)で動く点が頻出ポイントです。

たとえどの国のコンセントでも使える変換アダプタ付き家電のようなもの。中身(JVM)が違いを吸収し、機種を選ばずどこでも同じように動きます。

記憶フックJavaといえばオブジェクト指向で環境非依存に動く汎用言語

プログラム言語のパラダイム

手続き型

オブジェクト指向型

C

Fortran

Java

C++

C++

C にオブジェクト指向の機能を加えて拡張した言語。

C++(シープラスプラス)は、手続き型言語である C にオブジェクト指向の機能を追加して拡張した言語です。C の高速性・低レベル制御の長所を保ちつつ、オブジェクト指向によって大規模なプログラムを部品化して整理しやすくしています。 ゲームや高性能が求められるアプリケーションなどで使われます。試験では、「C を拡張(発展)させたオブジェクト指向言語」という C との関係を問われます。C の高速さと Java 的なオブジェクト指向の両方を併せ持つ位置づけと理解しておきましょう。

たとえ使い慣れた手作り工具(C)に、部品を組み合わせて使える拡張アタッチメントを足したようなもの。速さはそのままに整理しやすくなります。

記憶フックC++といえばCを拡張したオブジェクト指向言語

C(手続き型)

オブジェクト指向の機能を追加

C++(オブジェクト指向)

Python

文法が簡潔で、AI・データ分析にも使われる汎用スクリプト言語。

Python(パイソン)は、文法が読みやすく簡潔で、初心者にも学びやすい汎用のスクリプト系言語です。コードの書きやすさから幅広い用途で使われ、特に近年は人工知能(AI)・機械学習・データ分析の分野で標準的に用いられています。 豊富なライブラリ(部品集)が揃っており、少ないコードで多くの処理を実現できるのも特徴です。試験では、AI・データ分析でよく使われる代表的言語という用途面と、読みやすく簡潔な汎用言語であることを押さえておきましょう。

たとえ材料や部品が一式そろった調理キットのようなもの。難しい下ごしらえ(部品)が用意済みで、少ない手順で目的のものを作れます。

記憶フックPythonといえばAI・データ分析でも使う簡潔な汎用言語

JavaScript

Web ブラウザ上で動作を付ける、Web フロントエンドの代表言語。

JavaScript(ジャバスクリプト)は、Web ページに動きや対話的な機能を付けるための言語で、Web ブラウザ上で動作するのが大きな特徴です。ボタンを押すと表示が変わる、入力内容をその場で確認するといった動的な処理を実現します。 名前に「Java」が付きますが、Java とは別の言語である点に注意が必要です(試験で混同を狙われます)。Web フロントエンド(利用者が見る画面側)の代表言語として、用途が「Web ページ・ブラウザ上の処理」である点を押さえましょう。

たとえWebページという掲示板に、めくれる仕掛けや動くパーツを取り付ける細工職人のようなもの。見る人の操作に反応して画面を動かします。

記憶フックJavaScriptといえばブラウザで動くWebフロントエンドの言語

R

統計解析・データ分析に特化したプログラム言語。

R(アール)は、統計解析やデータ分析に特化したプログラム言語です。大量のデータを集計・分析したり、結果をグラフとして可視化したりする機能が充実しており、統計の専門家やデータ分析の現場で使われます。 汎用言語というより「統計・データ分析の道具」という位置づけが特徴です。試験では、同じくデータ分析で使われる Python と並べて、R は統計・データ分析に特化した言語である、という用途を押さえておけば十分です。

たとえデータを並べて傾向を読み解く、専用の分析・集計ツールのようなもの。表計算ソフトを統計分析向けに強力にした道具と考えるとイメージしやすいです。

記憶フックRといえば統計・データ分析に特化した言語

まとめ

要点

  • C・Fortran は初期の代表的言語で、C は高速・低レベル制御の手続き型、Fortran は科学技術計算向け。
  • Java はオブジェクト指向の代表で、JVM 上で動くため機種・OS に依存しにくい(本topicの最頻出語)。
  • C++ は C を拡張したオブジェクト指向言語で、C の高速さとオブジェクト指向を併せ持つ。
  • Python は簡潔な汎用言語で AI・データ分析に強く、R は統計・データ分析に特化する。
  • JavaScript は Web フロントエンドの代表言語で、名前は似ていても Java とは別物である点に注意。

記憶フック一覧

  • C: Cといえば高速で低レベル制御もできる手続き型の祖
  • Fortran: Fortranといえば科学技術計算向けの初期の高水準言語
  • Java: Javaといえばオブジェクト指向で環境非依存に動く汎用言語
  • C++: C++といえばCを拡張したオブジェクト指向言語
  • Python: PythonといえばAI・データ分析でも使う簡潔な汎用言語
  • JavaScript: JavaScriptといえばブラウザで動くWebフロントエンドの言語
  • R: Rといえば統計・データ分析に特化した言語

関連の過去問演習は今後のアップデートで追加予定です。