

オブジェクト指向の話しをする前に知っておきたい「プログラミング」について
まず、初めにこのブログを読んで下さっているという事は少なくとも、「プログラミング」に興味を持たれた方という事は間違い無いと思います。しかし、だからと言って、「プログラミング」とは?と質問をして、明確に答えられる方は稀でしょう。まず、ここでは「プログラミング」とはについての知識を揃えておきましょう。
「プログラミング」とは
まず、身近な物に例えるなら、「プログラム」という言葉は皆さんよく触れている言葉かと思います。例えば、
体育祭の「プログラム」、今日のイベントの「プログラム」などです。
「プログラム」には次のような事が書かれているイメージです。
- 10:00 開会式
- 10:15 100走
- 10:30 ほにゃらら
- 11:00 閉会式
こんな感じで、「いつ」「何をする」を上から順番に書いた「指示書」みたいな物です。
体育祭のプログラムは「人」に支持する物ですが、これをコンピュータに支持する「プログラム」を書く行為が「プログラミング」とイメージして下さい。
さて、プログラミングのイメージがついた所で、少し具体的な話しをしていきます。コンピュータに支持する「プログラミング」ですが、
コンピュータは、人間の言葉がわかりません!という事で、「マシン語」と呼ばれる言葉で命令しているわけです。
で、このマシン語は、「0」と「1」のみで会話しているわけです。しかし、0と1の羅列でコンピュータに支持を書くのは、人間側が大変です。そこで、人が理解しやすいように様々な「プログラミング言語」が開発されました。
その中の一つとして「JAVA」という言語があります。こういった言語は、人が理解しやすいように、英語で書かれます。なぜ英語か?それは、アメリカで開発されたからです。
そして、英語で書いたプログラムを0と1のマシン語に変換してコンピュータが理解できるようにして使います。ちなみに、プログラミング言語をマシン語に変換する事を「コンパイル(compile)」と言います。日本語訳は、「編集」です。書いたものをマシン語に編集して渡すイメージですね。
さて、「JAVA」という言葉がでてきましたが、「JAVA」は「オブジェクト指向」にのっとって書いていくプログラミング言語です。
ここで、ようやく「オブジェクト指向」の登場です。しかし、まだちょっとだけ、「オブジェクト指向」の説明に入る前に知っておいて欲しい前提知識があります。
それは、プログラミング言語の一つに「C言語」というものがあります。この言語は「JAVA」より前に作られた言語で、「JAVA」にも影響を与えてる言語です。そして、「C言語」は「手続き型言語」と言われているものです。
「手続き型言語」とは、このブログの最初に触れた体育祭などのプログラムのイメージに近く、上から順にプログラムを実行していくものになっています。
なぜ、「オブジェクト指向」ではない「C言語」の説明を先にするのか?それは、「オブジェクト指向」は考え方です。その考え方が産まれた背景にはもともとの方法に課題があったからです。
その課題を理解する事が、オブジェクト指向の理解を助けます。また、C言語はJAVAに影響を与えてる言語です。具体的にプログラムのコードを使った説明に入る際に、先にC言語の構造が理解できるとイメージしやすいのも、先に説明しておきたい理由です。
さて、次回はこのC言語について軽く説明していきます。と言ってもC言語の構造が理解できる最低限の部分だけの説明です。