PHPからCへ

こんにちは、めのんです!

前回少し触れましたが、PHPプログラマーを対象としたCの講座を始めようと思います。
もしかするとPHPプログラマーよりJavaScriptプログラマーを対象にした方がいいのかもしれないんですけど私の力量不足でJavaScriptはまだよくわかっていません。

とりあえずの方針としては、ちょっと乱雑にはなるでしょうけど思いつくまま自由に書き溜めていって、ある程度記事がたまった段階で何らかの方法でまとめられたらと思います。

PHPプログラマーがCを学びたい動機にはどんなものがあるのでしょうか?
個人個人で事情は違うと思うので「絶対こうに違いない!」という決めつけは禁物です。
でも、ある程度どこかに絞り込まないことには漠然とした解説ばかりになるか、あの場合はどうなる、この場合はどうなるというように複雑になりすぎます。

大きく分けてCの用途には、PCなどの汎用のオペレーティングシステムで動作する「ホスト環境」向けと、ベアメタル(OS無し)やμITRONのような簡易なカーネル上で動作する「フリースタンディング環境」向けがあります。

最近のCの用途は、少なくとも日本国内では後者が多き気がしています(エビデンスはないので、あくまでも私の感触です)。
ですので、本来であればベアメタルの環境でLチカ(LEDをチカチカ点滅させる)あたりから始める方がいいんだと思います。

ただ、PHPプログラマーが対象ですので、比較的近い環境の方が入りやすいと思います。
そこで、今回はPC上で動作するプログラムからまずは解説していくことにします。
いわゆる「hello, world!」から入っていきますね。

Cの経験はまったくなくても、PHPプログラマーの方々ですからプログラミング初学者と同じではありません。
初学者向けの入門書と同じようなことはやらなくてもいいでしょう。

今のところ考えているのは、最初のとっかかりは「hello, world!」からです。
これはCの雰囲気を味わっていただくのと、コンパイルして実行する環境を構築して、うまくいったかどうかを確認することが主な目的です。
PCはWindowsでもmaxOSでもLinuxでもできるように頑張りますけど、初学者が対象ではないので細かな解説は省略します。

その次からはいきなり翻訳フェーズの話に入ろうと思います。
前処理からリンクまでの流れと、翻訳単位について解説することになります。
細々とした文法なんかはその後にします。

こんな感じで、まずは前進することを重視しますね。

できれば次回の投稿から本格的にスタートするようにします。
どうかご期待ください!