ここでは、プログラムやプログラミング言語の基本事項について解説します。
プログラムとは、プログラミング言語で記述された、コンピュータに対する一連の指示のことを言います。プログラミング言語とは、コンピュータに対する一連の
動作の指示を記述するための人工言語の総称です。プログラミング言語は、低級言語と高級言語に大別することができ、前者はマシン語など、直接コンピュータ
が処理しやすいように記述する言語となっており、後者はより人間にとって解かりやすいように記述された言語となっています。最近ではプログラミング言語と 言えばこの高級言語のことを指すことがほとんどです。ここでは、これに倣って記述していきます。
マシン語(機械語)とはCPUが直接理解し実行できる「0」と「1」で表現できる言語であり、実体は2値の電気信号の集まりです。この電気信号がどのような
パターンでコンピュータに流れるかによって、プログラムの実行内容を変えています。コンピュータが直接理解できる唯一のプログラミング言語が、このマシン語です。
このマシン語で書かれたプログラムをコンピュータは実行していますが、人間がこの「0」と「1」の羅列を実際に書いていくことは、大変な作業になります。そのため、より人間がわかりやすいプログラミング言語が研究開発されてきました。
上述したように、コンピュータが直接理解できる唯一の言語がマシン語です。しかしながら、人間がこれを理解するのは容易なことではありません。そこで、高級
言語と呼ばれる人間が理解しやすいプログラミング言語で記述し、それを自動的にマシン語に翻訳(変換)するプログラムによって、コンピュータが理解できる
マシン語を自動生成する仕組を作りました。すなわち、人間に分かりやすい言葉で書いた指示を自動的にマシン語に翻訳(変換)するプログラムをあらかじめ書
いておくことによって、自動翻訳でマシン語を生成することができ、コンピュータに実行させることができるようになったという訳です。
このプログラミング言語からマシン語に翻訳(変換)することをコンパイルと言います。
コンパイルを行うためには、コンパイラと呼ばれる変換を行うソフトウェアが必要になります。コンパイルは、プログラムソース(プログラミング言語で書かれたプログラムコード)を一括でマシン語に変換し、変換されたコード(オブジェクトコードと呼びます)を実行します。
コンパイルの他、インタープリタというプログラムソースを逐次コンパイルしながら実行する方式もあります。
プログラミング言語は、人間が理解できる言語にしたことで、効率的にプログラムを書くことができるようになりました。現在、多くのプログラミング言語が存在
しますが、それぞれ特徴があり、様々な場面で利用されています。次に代表的なプログラミング言語について、説明します。
プログラミング言語と自然言語の違いとは?プログラミング言語は、すでに上記で説明したとおりですが、自然言語とは、人間が日常で使っている言葉のことです。当たり前の話ですが、人間が日常で使って
いる言語は、人間同士がコミュニケーションをとるための言語で、人間は、大変高度の頭脳を持っていますので、使っている自然言語は非常に複雑な文法の上で
成り立っています。また、人間同士のやりとりであれば、ある程度曖昧な表現であっても、理解し合うことができたり(誤解を生じることも多々あります が..)、色々な表現でコミュニケーションをすることができます。 ところが、プログラミング言語は、相手がコンピュータですので、定められた文法をきちんと守って、命令を出さなければいけません。自然言語に比べれば、文法はシンプルで限られたものになりますが、非常に厳密で、少しの文法の間違いでも、命令を聞いてはくれないのです。
プログラミング言語は、人工的に文法が定義されており、コンピュータは、その定義された文法以外は、理解することができません。人間であれば、少しのスペルミスでもある程度推測で理解することができますが、コンピュータは、事前に定義された単語しか理解できないのです。
プログラミング言語を学習するときには、文法をよく理解し、厳密に従って、プログラミングすることが重要になります。
現在、世の中には、たくさんのプログラミング言語が存在しますが、その中でも代表的なプログラミング言語をいくつか紹介します。各プログラミング言語には、それぞれ特徴があり、利用目的によって、使い分けがされています。
1. C
C言語(シーゲンゴ)とも言います。非常に広く普及しているプログラミング言語で、UNIXなどのOS記述言語でもあり、業務系開発やフリーソフトウェア開発、組み込み系開発にと幅広く利用されています。
2. C++
「シープラスプラス または、シープラプラ」と呼びます。広く普及しているC言語に、オブジェクト指向的に拡張した言語です。C言語と同様に、様々なシステムで利用されています。
3. Java
「ジャバ」と呼びます。Javaは、プラットフォーム(ハードウェアやOS)に依存しないソフトやシステムを開発することができ、オブジェクト指向と呼ばれる考 え方に基づいた言語です。現在、Webシステムや組み込みシステムやAndroid
OSで動くソフト開発など、様々な分野で幅広く使われており、最も注目度の高い言語と言えるでしょう。
4. PHP
「ピー・エイチ・ピー」と呼びます。PHPは、Webページに動的な処理を加えることができます。最近では、ショッピングサイトやブログシステムなど色々なWebシステムで使用されています。
5. Perl
「パール」と呼びます。インタプリンタ形式のプログラミング言語で、CGI(Webサーバ上で動くプログラム)などに使われます。インターネットの掲示板やブログシステムなどCGIを用いています。
6. C#
「シーシャープ」と呼びます。マイクロソフトが同社の.NETプラットフォーム上で動く言語として開発しました。社内システムなどのイントラネット上のシステムによく用いられますが、Web対応も可能です。
7. Objective-C
「オブジェクティブ・シー」と呼びます。Mac OS Xの主力開発言語として注目され、最近ではiPhoneアプリの開発として、習得者も急増している言語です。
8. COBOL
COBOL(コボル)と呼びます。事務処理用に開発された言語で、汎用系コンピュータで広く使われます。現在ではオープンCOBOLと言い、UNIX OS上でも動作するようになっているものもあります。
9. FORTRUN
FORTRUN(フォートラン)と呼びます。科学技術計算などに向いている言語です。
10. LISP
LISP(リスプ)と呼びます。人工知能研究などで利用されることが多い言語です。
次はプログラミングとテストの要点です。