コラム

2020年05月19日

【言語紹介】社会で使われているプログラミング言語【C言語編】

プログラミング言語『C言語ってなに?』

 

皆さんこんにちは、プログラミングスクールCotoMirai事務局でございます。

今回はプログラミング言語の代表格『C言語』についてご紹介!

実際に私達の社会で用いられているプログラミング言語はどのようなものなのか、簡単にですが一緒にみていきましょう!

 

 

-----

 

 

■C言語の歴史

C言語が開発されたのは今から約50年前の1972年

アメリカの大手電話事業を行っていたAT&Tベル研究所デニス・M・リッチー氏とブライアン・W・カーニハン氏によって開発されました。

 

そうなんです!

最初は電話事業社、日本でいいうNTTのような企業で開発されていたんです。

 

-----

 

■C言語の目的

C言語開発された目的としては、UNIXと呼ばれるコンピュータのOSに移植性を高めることでした。

要するに…

あるコンピュータを動かすプログラムを別のコンピュータでも使いたい。

しかし、通常だと新たにプログラムを組む必要がある。

いちいちプログラムを組み直すのはめんどくさい…
そこで生まれたのが【C言語】

C言語では少しの修正で他のコンピュータにも同様に使える。

 

このため、UNIXではC言語が大部分を占めております。特定のプラットフォーム(動作環境)に依存している部分から切り離しているため、移植性の高いプログラムが生まれました。

 

-----

 

 

■派生言語

C言語はそれまで使用されていた言語の中でも汎用性が高く、この50年間で様々な派生言語が生まれております。

【派生言語の一例】
・C++
・C#
・Java
・Javascript
・php

このように様々な言語がある中でC言語は現在C++とともに最も普及しているプログラミング言語でもあります。

 

-----

 

■C言語の由来

ちなみに、なんで【C言語】って呼ばれているか、皆さんはご存知ですか?

最初私は【Code:記号、暗号】の意味なのかな?なんて思っていました。

そこで調べてみると、これ実はそんな意味ではありませんでした。

 

C言語の『C』は、その前に開発していた言語『B言語』というものの後継のため『a, b, ”c”』で『C』と名付けられたそうです。

案外単純な理由でしたね!

 

その前のB言語の由来はあまりわかっておらず、有力なのが

『BCPL(Basic Combined Programming Language)』

というプログラミング言語からきている説でした。

 

他にもa~zまで様々な言語があるらしく…

気になった方は是非調べてみてください!

 

-----

 

 

■C言語の特徴

ここまで様々な特徴がありましたが、少し振り返ってみましょう。

 

●プログラムの移植性が高い

プラットフォーム(動作環境)に依存している部分から切り離しているため、当初の目的でもあった移植性の高いこと。

 

●派生言語が多い

上記でもあるように現在使用されている言語はC言語から生まれたものが多くあります。(現在13種類)

 

●手続き型のプログラミング言語のため、構造化プログラミングに適している

コンピュータが受けた命令を処理する際、上から順にこなしていくような作りの言語を手続き型プログラミング言語といいます。

もしメインプログラムとは別に書いたプログラムを間に入れたい場合でも、目印を入れることでそのプログラムを入れることが可能です。

このため、人が見たときに構造化されているため、確認がしやすいことも特徴として挙げられます。

 

●プログラムの実行速度が速い

人間によって書かれたプログラムはコンピュータではそのままでは理解することができず、動作しません。

このため、コンピュータでも理解できるように翻訳する作業が必要となります。

これを『コンパイル』といいます。

 

C言語ではプログラムを実行しながら翻訳を行う『インタープリタ方式』ではなく、

実行前に翻訳を行い、その後実行をする『コンパイル方式』が用いられたため、高速での動作が可能となりました。

 

●習得するのが難しい

汎用性が高く、最も使用されているプログラミング言語でもありますが、実は習得が難しいとも言われております。

理由としては、

・C言語を扱う上でコンピュータの知識が必要となること(メモリ管理やポインタ管理)
・他の言語よりも注意点が多いこと
・注意点が多いことによりバグの発生箇所がわかりにくいこと
・他の言語で元から備わっている機能もプログラミングで書かなければならないこと  …etc

 

ただし、C言語を学習すると他の言語も自然と理解できる点は利点として挙げられます。

 

-----

 

いかがでしたでしょうか?

今回は簡単にではありましたが、プログラミング言語の代表格『C言語』についてご紹介いたしました。

プログラミングの歴史を振り返ることで少しでも興味をもっていただければ幸いでございます。

 

皆さんも私達とプログラミングを始めてみませんか?

ご連絡お待ちしております。

 

-----

■参考

https://www.sophia-it.com/content/C%E8%A8%80%E8%AA%9E

http://www.c-lang.org/about.html

https://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E

https://hnavi.co.jp/knowledge/blog/c/

https://jp.quora.com/puroguramingu-de-C-gengo-ga-muzukashii-to-sa-reru-riyuu-ha-nani-desu-ka

https://crowdtech.jp/blog/?p=2716

CotoMirai
プログラミング
C言語