2019年4月20日土曜日

プログラミング言語:C

プログラミング言語の話では、絶対に避けて通れないC言語についてです。

1972年誕生で、すご~く古い言語ですが、その後のC++、C#、JAVAなど主要言語の基となった言語です。C言語の由来は「B言語」の次だからのようです。
ちなみに「A言語」はありません。

汎用性が高く、色々な機器に使えるため「プログラミング = C言語」みたいな時期もありました。そのため、C言語を使ったシステムが現在も多く残っており、今でもよく使われるプログラミング言語のTop10に入るほど、伝説的なプログラミング言語です。

ただし、C言語の勉強をすると必ずぶつかるのが「ポインタ」です。ただ、私の理解力では、皆さんに分かり易いように説明するのは無理です。また、誰かの言葉を借りてもよいのですが、それが本当に正しく説明しているのか、判断できないくらい私の理解が浅いため、それもやめておきます。
約3年C言語で開発しましたが何となく覚えて使っていただけなので「ポインタ」をさらっと理解できる人は凄いな~と思っていました。
(特に「ポインタのポインタ」とか今でも意味わかりません。)

じゃぁ、何故、そんな難しい概念があったかというと理由があります。
簡潔に言うとパソコンやサーバのメモリ容量が非常に小さかったからです。

今でこそパソコンで数Gbyte(大規模サーバであれば数Tbyte)のメモリを積んでいますが、1980年代ではまだ16Kbyte、80年代後半になってようやく1Mbyteになるなど、まさに桁違いに容量が小さかったです。1990年代でも8Mbyte~64Mbyteなどそれでもまだまだ不十分でした。

そのため、プログラムで使用するメモリ領域をどうやって上手く活用するかに対応したのが「ポインタ」であり、技術者の腕の見せ所でした。

ただ、考え方が難しすぎるのとハードウェアの進歩でメモリ領域に余裕ができたことで、ポインタの概念をもったプログラミング言語は、その後、減っていきました。

◆今日の名言
人生とは、自転車に乗っているようなもの。バランスを保つためには、走り続けなければならない。
byアインシュタイン

0 件のコメント:

コメントを投稿

夏休みイベント 親子で学ぶSDGs(ワークブック付き) ■対象:小学3年生~

   7/30(日)に、夏休みイベントとして「親子で学ぶSDGs」を実施します。 今年は夏休み期間中に2回開催(7月と8月)しようと思います。2回目は、お盆期間の金曜日です。ご都合の良い方は是非ご参加いただければと思います。自由研究もついでに終わらせちゃいましょう。 ご予約・イベ...