活動報告

新着記事

カテゴリー

キーワード検索

2022.09/27 コンピューター言語

コンピュータを道具として使うためには、プログラムを組まなければならない。プログラムを組んでやればコンピューターに接続された機器の種類に応じてコンピューターの道具としての役割が決まる。


すなわち、コンピューターはプログラムが無ければ、道具としての役割が明確とならないおもしろい道具、あるいはその道具としての機能が決まっていない道具である。


ところで、プログラムを記述するためのコンピューター用の言語は、コンピューターが登場してからいろいろ開発されてきたので様々な種類がある。現在主流になっているのはオブジェクト指向の考え方を実装した言語である。


C#は、純粋なオブジェクト指向言語と呼べるが、C++はCと同じようなプログラミングスタイルでもプログラム可能なのでオブジェクト指向でプログラミングできる言語となるだろう。


このようにC++をとらえると、Cも構造体を工夫して用いるとオブジェクト指向もどきの記述ができるのでC++に近い言語と見なすこともできる。Cのこの柔軟性ゆえに半世紀近く前に登場した手続き型言語であるのに未だ生き残っている。


かつて、用途ごとにプログラム言語は発展してきたように思われる。すなわち、コンピューターを道具として使うためには言語が必要となるが、その道具としての機能を記述しやすいように設計された言語として発展したので様々な言語が登場した、と感じている。


例えば科学計算用にはFortrunが、天体望遠鏡の制御用にForthが、事務処理に便利なdBASEといった具合である。Cが登場したあたりから、いろいろな目的に使用できる言語としてコンピューター言語が設計されてきた。


今エンジニアの誰もが使うようになったPythonもそのような目的で設計された言語であるが、C言語を厳格な柔軟性で設計された言語と表現したならば、可読性を重視した柔軟性の言語と呼べるような特徴がある。


ゆえにズボラなプログラマーが組んでも可読性の高いプログラムとなる。この特徴ゆえにチームでプログラムを分担して作る時に統一された読みやすいプログラムが誰でもできる。


Cの場合にはチーム内でそのスタイルを統一しておいたとしても、読みにくいプログラムとなる。この読みにくさは、昔小林秀雄の文章が難文として揶揄されたような文体の問題に近いところがある。


この読みにくさにより思考が止まる。書いた本人とコンピューターが理解できたとしても、他のプロジェクトメンバーが理解できないプログラム、というのもCを用いるとできることになる。

カテゴリー : 一般

pagetop