こんな言語をやったことがあります 第2回(C言語)
タイトルでどのような内容を書くかもうバレバレですね。
どうも、見習いAです。
わたしの経験したことのある言語の中から、今回はC言語について書いてみたいと思います。
「C」という言葉は聞いたことあるでしょうか?
ローマ字1字なのでたいていの方は聞いたことありますよね?
プログラムで「C」というと、C言語の事を表します。
前回お話した、VB.NETは基本的にウィンドウズでしか動かない言語でしたが、
C言語はコンピュータなら、
コンパイラというソフトが対応していればどんなコンピュータでも動かすことが出来ます。
1970年代に開発された言語なので歴史がすごくあります。
最近ではパソコン関係のソフト開発は、JAVA, VB.NET, C#あたり、
WEB関係の開発ではPHP, Perl等が主流となっていますので、
その分野で使われることは少なくなっていますが、
今でも組込み系(カーナビ、家電製品など)の開発では現役の言語です。
特徴は、前述したコンパイラを使う言語であることです。
コンピュータは基本的に言葉を理解できません。
理解できるのはマシン語と言われる0と1の数列のみです。
この数列のパターンを文字に置き換えたものがアセンブラと呼ばれます。
C言語は文章と数式で書いたプログラムを、
コンパイラを使うことによって、アセンブラに置き換えて実行する言語です。
そして現在でも使われている理由とも言えるのが、
低レベルな記述のできる言語であるということです。
低レベルというと、一般的には程度が低いという意味で取られてしまうかもしれませんが、
コンピュータの世界では低レベルというとハードウェアに近いという意味で使われることもあります。
ハードウェアに近い部分をプログラムするときには、C言語は今でも通用する言語であると言えます。
組み込みなどではハードウェアを制御しなくてはならないため、これは大きなメリットとなります。
ただ、一般的には最近使われている言語よりも習得が難しいと思います。
理由は先程の、低レベルな記述ができるという点です。
C言語では、メモリの制御なども基本的にプログラムで書かねばなりません。
最近の言語ですと、使わなくなったメモリを解放する、
ガベージコレクションという機能があるのですが、C言語にはありません。
またWEB系などで頻繁に使う文字を扱うのも難しくなっています。
そしてメモリの制御や文字を扱う部分に関係してくる、
ポインタという概念が普通の人には理解が難しいでしょう。
ポインタとはC言語で使われる変数のうち、メモリのアドレスを格納する変数をさします。
メモリのアドレスを直接指定できることが、C言語の柔軟性を高くし、そして参入を難しくしています。
こればっかりは言葉で説明するのが難しく、
実際にプログラムを書きまくることでしか理解出来ない概念だと思います。
C言語は古く不便な点もたくさんある言語ですが、
コンピュータの基本的な仕組みを理解する上で覚えておいて損のない言語です。
もしあなたがコンピュータにもっと精通したいと考えるとしたら、
一度参考書を手にとって、簡単なプログラムを書いてみるといいかもしれません。
それではまた。
最近のコメント