KASAです
JavaやPython界隈のコンピュータをあまり理解していない人たちの一部でC言語不要を唱えている方がいるそうです。
そういう人に言わせると、「ポインタやらメモリ管理がエレガントでない」とか(もちろん他の理由もあるようですが)
C言語使う派からいえば「それは使う側のレベルが低いので安心して解放できないだけやん」なんですがw
それが故にC言語にはできてJavaやPythonにはできないことが結構あります(逆は基本ない)
なのでJavaやPythonのライブラリの多くが「C言語で実装」されています(他の理由もありますが)
それ以前に現状だとJavaやPythonがなくなってもコンピュータは無くなりませんが、C言語がなくなったらコンピュータは滅ぶでしょう。
なぜなら上の理由でOSを記述しているほとんどがC/C++で、核の部分はCで成り立っているからです。
OSのない世界でJavaやPythonは動きません。
新しいCPUができたらCPUメーカはまず新しいCPU向けのC/C++のコンパイラを開発します。
多くのソフトウエア(他の言語のコンパイラを含め)はC/C++で実装されていて、
新しいC/C++のコンパイラでコンパイルしてそのCPU上で動くようになるわけです。
そういった意味では最も移植性が高い言語なのかもしれません。
OSの要らない組み込み用の「Micro Python」というのもありますが、これもC言語で実装されていますし…
ということでJavaやPythonなどを使っていてもコンピュータに理解のある人は「C言語 不要」とは言いません。
「好きじゃない」と言われる方が多いかもしれませんがw
「好き嫌い」と「要、不要」をちゃんと区別できる人になってほしいものです。
(要はコンピュータに対するスキルを上げるということですね)
最近Rustというのが流行ってきてます。
Linuxにも採用されるようですが、ドライバ周りだけで さすがにカーネル本体はリーナスさんも否定的なようですね
▼この記事がいいね!と思ったらブックマークお願いします