ITの基礎知識|ITパスポート・基本情報

プログラム言語の分類と概要

2017.10.06

この記事での学習内容 ITパスポート 基本情報 応用情報

プログラム言語は、機械語、アセンブラ言語、高水準言語と発展してきたこと、プログラム言語の分類を理解する。

用語例:手続型言語、関数型言語、論理型言語、オブジェクト指向言語、スクリプト言語

プログラム言語

コンピュータに処理をさせるには、処理の手順を司令として与える必要があります。この指示書をプログラムといい、プログラム言語によって書かれています。

以下に、代表的なプログラミング言語をいくつか紹介します。なお、「基本情報」アイコンがついているものは、基本情報技術者試験の午後の問題で出題されるプログラム言語です。

C  基本情報
パソコンやワークステーションのアプリケーションソフト、デジタル家電やIoT機器など、いわゆる「組み込み系」の開発で用い要られています。
C++
C言語をベースとして、オブジェクト指向の概念を取り入れた言語です。UNIXやLinuxのサーバ内部のプログラムや、Windowsアプリケーションで用いられています。
COBOL  基本情報
10進数の扱いを得意とするプログラミング言語で、金融分野などの汎用コンピュータで利用されている、事務処理用のプログラム言語です。
Java 基本情報
C++をベースとして開発され、インターネット環境などで利用される言語です。「Java仮想マシン」という仕組みを使い、OSや機種といったプラットフォームの違いにかかわらず動作できるという特徴があります。
Visual Basic
GUI環境でのWindowsアプリケーションソフト開発に用いられる言語です。
C#
主にWindowsアプリケーションソフト開発に用いられる言語です。.Net Frameworkという、共通言語基盤(CLI)上で動作するプログラム言語です。
Fortran
主に科学技術系の計算処理で用いられるプログラム言語です。

機械語と言語プロセッサ

コンピュータが直接理解できる命令は、2進数で表現された機械語です。しかし、機械語は機種によって異なり、かつ機械語は人の手で記述するのは難しいので、より人間の言葉に近いプログラム言語で記述したもの(ソースコード)を機械語に翻訳してから動作させます。

このソースコードを機械語に翻訳する機能を「言語プロセッサ」といいます。翻訳の方法には、機械語と1対1に対応する疑似命令を機械語に変更する「アセンブラ」、ソースコード全文を一括で機械語に翻訳する「コンパイラ」、1行ずつ逐次翻訳しながらプログラムを実行する「インタプリタ」があります。

コンパイラ

コンパイラは、プログラム言語で書かれたソースコードを、一括して機械語のオブジェクトやプログラムに作り変えるソフトウェアです。

CやCOBOL等の高水準言語はコンパイラで変換されます。

インタプリタ

ソースコードを1行ずつ解析しては機械語に変換し、実行するという動作を繰り返すもので、逐次変換ともいいます。

以前のVisual Basicはインタプリタで実行されていました。

スクリプト言語

コードを記述するだけで、コンパイルの必要なく動作させることが出来る、スクリプトと呼ばれるプログラムがあります。これを記述するプログラム言語を、スクリプト言語と言います。

代表的なものには、PerlやPHP、JavaScriptなどがあります。これらはWebページに動きを加えたり、Webサーバ上でデータを計算してWebブラウザに送るなどの機能を作る時に用いられています。

以下に、いくつかスクリプト言語の特徴を紹介します。

Perl(パール)
Perlは、テキスト処理から機能を拡大してきた、スクリプト言語です。実用性を重視していて、C言語などの各種の言語を参考にして、多様な機能を持ちます。
Perlを処理するためのソフトウェア、”perl”はフリーソフトウェアとして提供されています。 
記述されたスクリプトの提供形態は、Webページに動的な性質を持たせる、CGI(Common Gateway Interface)という機能の形をとることが多いです。
PHP(Hypertext Preprocessor)
Webページに動的な機能を持たせるためのスクリプト言語および言語処理ソフトウェアの名称です。
PHPで書かれたスクリプトはWebサーバ側でHTML形式のマークアップ言語表現に変換されるので、閲覧するクライアントコンピュータ側には、PHPのソフトウェアは必要ありません。
Python(パイソン)
オブジェクト指向型のスクリプト言語です。Perlとは対象的に、言語そのものの機能は少なめに限定されています。そのかわり、多様な標準ライブラリを提供してカバーしています。
見た目のブロック構造と、実際の制御が同じで、視覚に訴えるソースコードが強制されている言語です。
Ruby(ルビー)
日本人が発案したオブジェクト指向型のスクリプト言語です。テキスト処理や機能の多様性という性質はPerlに近く、オブジェクト指向型という点でPythonと比較されます。