00.プログラミング言語の歴史

Thanks for your watching! This site summarizes the basic information about C #

00.プログラミング言語の歴史

2019年5月9日 C C# IT プログラミング 初心者 基礎 学習 歴史 0

♦導入

プログラミングが小学校の必修科目になりましたね。

世の中のプログラマ需要は右肩上がりで、今後永続的に必要とされる職種の一つといえるでしょう。

プログラミングは、コンピュータへの指令書を書くということです。

この指令書を書くための言語がプログラミング言語であり、そこには様々なルールと機能があります。

ルールと機能は厳密かつ不可侵なもので、プログラマを目指す者たちは皆、これらを把握しておく義務があります。

プログラミング言語の勉強は、楽しむ心さえあれば誰でも継続できるものなので、諦めないで一歩ずつ一人前のプログラマへの道を歩んでいきましょう。

このWebサイトが皆様の学習の一助となれるよう努力いたします。

♢C言語の誕生

このページでは、C言語誕生~C#誕生の歴史について触れます。覚える必要はありません。

参考までにスライドを1枚載せます。

画像:C言語誕生からC#への進化経路

プログラミング言語を開発した偉大な技術者たちには、共通した目標が2つありました。

  1. 単純明快であること
  2. メンテナンスがしやすいこと

上記目標掲示を裏付ける根拠として、プログラミング言語は、世界中の人が共通して、平等に使うことができる言語である必要があります。

この目標のうち、1.単純明快であること を見事に達成した言語の1つが「C言語」です。

上記目標達成のために、構造化プログラミングを採用しました。

C言語は、今から50年近く前に開発された、いわば「古い」言語です。

しかしながら、その使いやすさと根強い人気により、現在でも採用している企業は多いです。

当時、爆発的に普及したC言語ですが、2.メンテナンスがしやすいこと に関しては疑問の残る言語でした。

もう少し詳しく説明すると、以下のような課題を抱えていました。

  • ソースコードが大きくなりがち
  • 特定のCPU、OSを対象としてしまい、移植性がない
  • 他の言語との互換性はない

(これらの課題が生じるのは当然かもしれません。当時のコンピュータは、現在一般的に普及しているコンピュータに比べ、比較にならないほどスペックの乏しい演算装置・制御装置・記憶装置しか備えていませんでした。)

♢C++の登場

1983年、C言語の良さをそのままに、C言語の抱えるいくつかの課題をクリアした「C++」が登場します。

C++は、オブジェクト指向プログラミングを採用し、ソースコードがより簡潔に、効率の良いものとなりました。(言葉の意味は学習を進めていく上で理解できますので、さらっと読み進めて頂ければ幸いです。)

ここで、C言語とC++の違いを簡単に説明するために、以下のスライドを載せます。

画像:CとC++比較

いかがでしょうか。C言語では「東京都」、「大阪府」、「愛知県」がそれぞれデータを保持しています。「人口」、「面積」、「気温」という共通の単語が3回ずつ登場していますね。

対してC++では、「日本」がデータを保持しており、「人口」、「面積」、「気温」を各都府県が参照する形になっています。

それぞれの単語は1回しか登場していません。

非常に簡単な例ですが、この考え方は現在も変わりません。

ほとんどのプログラミング言語の基礎は、こうした「簡潔に」記述できることなのです。

ゆえに、優秀なプログラマは同じことを何度も書いたりしません。

同じ動きをするように見えるプログラムがあったとしても、それを記述するプログラマのレベルによって、ソースコードの美しさに差が出てしまうのです。

繰り返しになりますが、C++はC言語のいくつかの課題をクリアした素晴らしい言語です。しかしながら、先に記した「OS,CPU間の移植性」、「他の言語との互換性」は実現できませんでした。

♢Javaの登場

C言語、C++の抱える課題のうち、「OS,CPU間の移植性」をクリアした言語は「Java」です。

※「Javascript」という言語がありますが、Javaとは関係ありません。混同しないようご注意ください。

Javaは「ソースコード」を「バイトコード」に変換することで、移植性を実現しました。(Java以前は「ソースコード」から「マシンコード」に直接変換していました。)

これはとても革新的で、プログラムのメンテナンスが飛躍的に楽になりました。イメージできるように、スライドを載せます。

画像:バイトコード

C言語、C++は、OS(Windows用、MacOS用、Linux用)ごとに、ソースコードをビルドする必要がありました。

Javaを用いて記述されたコードは、この手間を省く事ができるのです。

現在Javaは「Androidアプリ」、「Webサービス」、「データベース」などを作る言語として広く利用されています。

ただ、非常に優秀な言語であるJavaにも、解決できない課題がありました。

それは、「Windowsとの相互運用性」と「他の言語で書かれたコードの再利用」です。

Windowsは、Microsoft社が開発・サポートするオペレーティング・システム(OS)であり、世界で最も利用されているOSです。

Microsoft社は、Javaの課題を解決すべく、プログラミング言語の開発をおこなったのです。

♢C#の登場

世界で最も有名なIT企業であるMicrosoft社は、2001年にC#を発表しました。C#はC言語、C++、Javaの抱える課題をすべて解決した新しい言語です。

特に、Windowsアプリケーション、Androidアプリケーションの開発にはこの上なくマッチした言語です。(他にも色々つくれます)

持論ではありますが、ここまでWindows向けに完成されたプログラミング言語はC#が初めてでしょう。(ただし、C#のベースはFortran、C、C++、Javaです。)

本ブログでは、この「C#」を「Visual Studio」という開発環境を用いて解説します。

ここまで読み進めて頂き誠にありがとうございます。

本ページでは、プログラミング言語の歴史について学びました。

引き続き、他の投稿で学習を進めてみてください。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です