2018.02/21 プログラミング(15)
プログラミング言語の解説において、最初に出てくるのはデータ型の説明だ。コンピュータはデータを電気信号のON,OFFの2値の塊で表す。すなわち、1,0のビット列でデータを表現し、それはコンピューターのメモリーを占有する。
ところでFORTRANやBASIC,Cなどのプログラミング言語ごとに、このデータ型の説明が異なっていた。プログラミング言語ごとにこのデータ型が異なるというのは、仕方がないことで、各言語の使用目的を考慮して、極力メモリーの使用効率を高くしようとしたからだろう。
ただ、過去のプログラミング言語のデータ型は生活習慣と合っており理解しやすかったが、C#では、コマンドのたぐいも含めすべてデータとして扱うという仕様だ。
すなわち、データ型とは、その型の実体(インスタンス)となるメモリー上のビット列のことを意味しており、数字以外のデータもすべてこの型の概念でC#は扱っている。さらに、型とは、メモリー上のビット列のどこからどこまでに、どんな意味が潜んでいるのかを説明しているという。
ものすごい概念の拡張だ。最初文法書を読んでいた時にこのあたりの感覚がよくわからなかったが、クラスの使用方法などを理解したところで、型が単に数値だけでなく、クラスやメソッドの一部にも用いられていることに気がついた。
すなわち、C#は、型に始まり型でおわる、と言っても言い過ぎでないぐらいに、型の理解が重要である。そして型の内部にフィールドとメソッドが定義されてプログラミングが進められる、というコーディングの雰囲気だ。
Cが登場したときに習得が難しい言語と言われたが、言語の予約語等文法の決めごとが少ないのでプログラマーの自由度が高く、関数を定義しながらプログラミングを進めるという仕様は、BASICよりも技術習得に容易だった。
しかし、C#はオブジェクト指向という難解さと言語仕様の奇抜さ複雑さで、その特徴を生かして使うには、敷居が高い言語である。敷居は高いが、一度その敷居を超えるとこれまでの言語よりもプログラミング言語として使いやすい。本欄でその敷居を少しでも下げられたらという思いで書いている。
pagetop