Webの世界に入ってきてほとんどC言語とかを触れなくなったけど、最近ちょっと見る機会が増えていまして。 で、改めて思うのはメモリを扱うには最適な言語だなあと。 スクリプト言語とかだとあまりメモリってものを意識しないし、C#とかだとメモリアクセスは危険性が高いから推奨されない。 バイナリファイルを扱うにはすごく適した言語なのですよね。 C言語では適当に並んだバイナリファイルを無理やり構造体に当てはめることができる。 if文でこの条件の時はこの構造体、こっちの条件の時はこの構造体にキャストなんかもできる。 果てしなく柔軟性が高いのですよね。 もちろんそういうことは危険が伴いますし、よくプログラム落ちるけど。 ただこのC言語の特徴ってスクリプト言語では全然無いものだから、スクリプト言語からC言語って辛いだろうなあと思う。 逆はけっこうどうにでもなる。実際自分がそうだったし。 何にしろプログラムにも適材適所があるのですね。 C言語でWebの構築は理屈上できます。事実C言語のcgiって昔あったし。 しかし細かな変分も多いし、文字列扱うにはメモリの割当とか解放とか頻繁に走るから手間暇のほうが多いです。 逆にスクリプト言語は文字列の扱いは得意なもののhttpやweb関連以外のプロトコルはめんどい。 phpでdhcpのパケットを作るなんてやりたくないですよね。 だからアプリをやりたいのにC言語なんて学んでも遠回りだし、ミドルウェア作りたいのにスクリプト学んでもやっぱり遠回り。 進みたい方向にあったプログラムを学びましょうね。