为什么大多数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发生的事情.

相关文章