猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

言語のしくみ その7

4−2基本テータ構造

データ構造から見るCの性格

 とても大切そうなことなのでメモ。でもなんとなくわかるような、わからないような...。「結局は生のCPUの動作が想像できれば自然なこと」だそうです。

  • Cの基本データ構造の特徴の一つは、1バイトから8バイトまで、各種サイズのデータ型が定義されていること。
  • ポインタに対する整数同様の演算が定義されていること。
  • Cの基本テータ構造は生のCPUの機能を反映している。ほとんどのCPUではデータに型はなく、どの命令を使うかによってそのデータがどのような意味を持つかが決まる。
  • プログラミング言語としてのCは、ある程度の移植性と型チェックを加えた上でCPUの振る舞いを直接操作できるような言語であるということ。
  • これはCがそもそも当時ハードウェアごとにアセンブラで開発されていたOSを、移植可能な高級言語で記述するための言語であることに由来している。
Rubyの基本データ構造
  • Cと比較すると、生のCPUが取り扱うデータ構造は姿を潜め、より抽象度の高データ構造が目立つ。
  • 充実した機能を持つ文字列と正規表現が基本データに含まれているのは、テキスト処理の主眼であったことを反映している。