あれ?一番大事な奴が抜けている。
Geekなぺーじ:プログラマがC言語を学ぶべき10の理由「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。
[中略] ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。
- 0) So you can write your programming language in it.
- C言語がわかれば、あなた用のプログラミング言語を書くことが出来るから
そうなのです。PerlもPHPもPythonもRubyも(アルファベット順)、みいぃんなCで書かれているのです。
Larry Wall - WikiquoteIf you want to program in C, program in C. It's a nice language. I use it occasionally... :-)
その意味で、Cというのは他の言語とは「階層」が違うのですね。
「この言語を書くための言語」という役割において、Cに置き換わるものというのは未だにありません。確かに一部C++やJavaに置き換わったり、GHCのように処理系自身がその言語で書かれたものもありますが、とても主流とは言えないのが現状です。
それはなぜかというと、「世界を書くための言語」というのは「世界の底」に直接アクセスする必要があるから。その点でJavaは少なくとも主流になるのは難しい。VMを前提とすることで「階層」が一つ上がってしまっているから。Cと上位互換のはずのC++もなぜかいまいち流行っていない。多分「Cと上位互換」ということでむしろ「上の階層」を狙ったものになってしまっているから。
なぜ我々が未だにCを使うかといったら、それが高級言語ではなくて実はアセンブラーのマクロだから。ポインターとかプリプロセッサとか、Javaが蛇蝎のごとく嫌ってきたものにこそ、Cの価値があるのです。
だけど、Cを含めて、言語の仕様拡張というのは「より上の階層へ」ということは熱心でも、「下の階層をより使いやすく」という方向にはあまり行かないのはなぜなのだろう....
Dan the Occasional Binary Hacker
初心者の自分にはよくわからないけど
とりあえずC言語からさまざまなプログラムが
りようされているのはわかった
だけどこのままCのまま使うっていうのも
なんとなく?ですよね
最近出てきたD言語にも期待です