为什么大多数Linux程序都用C语言编写?
为什么大多数Linux程序都用C语言编写?为什么他们不是用C写的,哪个更新?
解决方法:
关于这一点已经有很多讨论.主要原因是哲学原因.
C被发明为系统开发的简单语言(而不是应用程序开发).使用C有很多论据,但是有很多不使用C并坚持使用C.
最后,这是一个历史问题.大多数应用程序都是用C语言编写的,因为大多数内核都是用C语言编写的.从那时起,大多数内容都是用C语言编写的,人们倾向于使用原始语言.
此时,有人可能会问“好的,那么为什么内核用C编写而不是移植到C?”.这已经在on kerneltrap前面讨论过了.可以引用此线程的一个很好的解释是响应by yoshi314(直接引用):
that’s because nearly every c++ app needs a separate c++ standard library to operate. so they would have to port it to kernel, and expect an extra overhead everywhere.
c++ is more complex language and that means that compiler creates more complex code from it. because of that, finding that a problem stems from compiler bug,rather than code error is easier in c.
also c language is more barebone, and it’s easier to follow its assembly representation, which is often easy to predict.
c++ is more versatile, but c is more suited for lowlevel or embedded stuff.
另一方面,“大多数Linux程序”都具有误导性.看看图形应用程序. Python越来越受到关注,特别是在Linux上的GUI环境中.关于Windows和.NET发生的事情.