一応補足してみる

今更だし、多分他の人が既に言及したと思うけど、一応水流くんのつぶやきに反応しておこう。

そういえばCよりJavaの方が好きです。理由は授業が分かりやすくて楽しかったから、Javaなら簡単なスレッド作れたり、実行時に引数渡せます。でもCは全くそういうこと出来ないです

え、 C のことを全く調べずにそういう比較するのってプログラマとしてどうなの。
っていうか C/C++ が love な僕としてはちょっと見過ごせない。見過ごしたら怒られそう。

C プログラムの実行時引数
int
main(int argc, char *argv[], *envp[])
{
}

argc とか argv でググれカス。あとついでに envp とかもググれ。
もう一言付け加えるなら argc は main 関数の引数の数じゃなくてコマンドラインの引数の数。
argv は引数の文字列の配列*1 *2 。だから 0 番目の要素にはプログラム名が入るよ。詳細はググれカス。
envp は環境変数。まぁ別にここで宣言しなくてもグローバル変数としてどっかで宣言されていた気がする。詳細はググれカス。

C のスレッド

pthread でググれカス。
実は僕はあんまりスレッド使わないんでそんなに詳しくないです。
ググって下さい。
オライリーかどっかから pthread の本出てたような気がするな。あとで読もう。


まぁ真面目な話をすると、思想も生い立ちも全く違う言語をそんな単純に比較されてもなぁ。っていうか単に水流くんが知らないだけだし。
是非ともググるというスキルを身に付けて頂きたいところです。


個人的にはあの講義は最悪だったと思うなぁ。
講義名が「インターネットプログラミング」なのに、実際はただの Javaチュートリアルだった辺りが詐欺すぎる。
1 年後期の西岡さんの C の講義のほうがよっぽど面白かった。
SICP 読め!」とか、「プログラミング書法のソースコードを C で実装しろ」っていうのを勧めてた辺りは流石に鬼だと思ったけどw


一応リンクも貼っておくか。
Cプログラミング入門:連載|gihyo.jp … 技術評論社
C言語入門:Geekなぺーじ
POSIX Threads Programming

*1:文字配列ではない。

*2:C 的には、文字へのポインタの配列 *argv[] 、もしくは、文字へのポインタのポインタ **argv 、のほうが正確か。