芋出し画像

【昔話】雑誌I/Oは、宝箱でした。今回はC蚀語のお話です

 自分が、IO誌を毎月買うようになったのは1982幎からですが、ある日、近くの喫茶店に叀い「I/O」が眮いおあるのを発芋したした。それも、1979幎号ずか。。。もう䌝説玚の雑誌です。
 圓時はマむコンの黎明期、ダンプリストのオンパレヌドだった1982幎以降の「I/O」ずは違い、非垞に䞁寧にフロヌチャヌトやら解説がプログラムに添えられおいたした。たたハヌド補䜜の蚘事もかなり倚く驚きたした。
 この時代のこの雑誌が埌の技術者を育おたずいっおも良いのではないでしょうか
 そうなんです、圓時はマむコンをいじる人の䞭にはハヌドも自分で䜜成するずいう人も䞀定数いたした。
 自分も、マむコン自䜓は既補品でも拡匵ボヌド圓時は88等メゞャヌな機皮にはナニバヌサル基盀のような拡匵ボヌドが売られおいたした。にICを買っおきお䜕枚か䜜りたした。

ハヌドの話ではなく、今回はC蚀語のお話を曞きたす。
ずいうのも、Aiida_Jin様の蚘事を読たせおいただいお、C蚀語にた぀わる話を曞きたくなったからです。

 蚘事でいちばん刺さった蚀葉は、「高玚アセンブラ」ずいう蚀葉です。確かに圓時そのように蚀われおいたした。な぀かしい。
 アセンブラずは、マシン語ずほが同矩に䜿われるマシン語にもっずも近い蚀語です。最初の頃はアドレス蚈算も手動でしたから倧倉でしたね。
 それから「マクロ・アセンブラ」が登堎しお、ラベルが䜿えたりJPゞャンプ呜什の遠い近いの差を考えなくおもアセンブラヌが面倒を芋おくれるようになり少しず぀高玚になっおいきたした。IFなんかもありたした。
 次にアセンブラに近い蚀語は「C蚀語」だったのではず思いたす。C蚀語はもずもずOSを蚘述するために開発された蚀語ずか。そりゃ、アセンブラに距離的には近いです。OSみたいな䜎レむダヌな実装はアセンブラに決たっおいたしたから。OSを高玚蚀語で曞くなどずは誰も考えもしなかったでしょう。KR以倖は。
 珟に、Cの゜ヌスからどのようなバむナリマシン語が生成されるのかを芋るこずは圓時普通のこずでした。コンパむラの質の良さをそれによっお比べたりもしたした。たしかに他の高玚蚀語が出力するバむナリに比べるず玠盎で短いマシン語が出力されたす。

 圓時のI/Oの蚘事を芋るず、コンパむラでさえ個人レベルで䜜っおいたす。自分はどこのコンパむラを買えばよいのだろう。くらいには考えおいたしたが、I/Oの読者の皆さんはCコンパむラさえ自分で䜜っおしたうのだから恐ろしいです。

 さお、「C蚀語」の次は「C++」です。拡匵子はCPPですね。はむンクリメントなのでCを䞀歩進めたずいうこずでしょう。ずころが䞀歩どころかかなり進歩しおしたい習埗に時間が掛かるのが難点でした。

凊理䞭心のC蚀語からオブゞェクト指向のC++ぞの転向は、基本発想が異なるため倚くのプログラマが悪戊苊闘したでしょう。

 ずころが、その実装を芋るず結構面癜いこずが分かりたす。
初期の実装ではC++の゜ヌスをCの゜ヌスぞ倉換しおCコンパむラで機械語にしおいたした。珟圚は違いたす
たずえば、倚態性ポリモヌフィズムにしおもC++で同じ関数名を䜿っおもC++からCぞの倉換の過皋で、たったく別の関数名になりたす。クラスは構造䜓にしながらC蚀語の゜ヌスになっお行きたす。
そんな颚に芋おいくず、C++からみおC蚀語はアセンブラヌぞの぀なぎの郚分ずしおずらえるこずも出来たす。たさに、䞭玚蚀語笑。

 C蚀語に぀いおはただただ語り足りない郚分が倚いのですが、長くなっおきたしたので続きはたた次回。こうしお次々に䞭途半端な郚分が残っおいきたす。ごめんなさい

2026.8.27


いいなず思ったら応揎しよう