为什么所有低级都是用C语言编写的?
我的意思是内核代码,驱动程序,运行时库,编译器,嵌入式系统s / w主要用C / C ++编写。
为什么不使用Fortran,COBOL,Pascal甚至Java / C#或其他第三代编程语言来生成与机器无关的代码,同时也让您可以自由地进行低级,调整和优化。
我的问题是为什么开发人员和公司最终主要使用C来实现这些目的。
编辑:你们大多数人都在谈论表现。那么,没有其他通用低级语言比C更快的原因吗?
答案 0 :(得分:5)
几点:
答案 1 :(得分:1)
有人会说,能够编写低级别东西的思维类型只能通过使用C引起的多年损坏来伪造: - )
更严重的是,C的整个目的是作为一种系统编程语言,因此,它主要是不受你的影响。其他语言有不同的用途:COBOL实际上用于事务/业务,C#用于在MS Windows下运行的应用程序,LISP用于喜欢计算括号的人,等等。它们可以用于用于其他事情,但我不会用COBOL编写操作系统。
汇编程序中的会计软件包。
Pascal中的或任何: - )
C允许您不受限制地访问最低级别,而不必担心垃圾收集等问题,这可能会对您的代码造成不可预见的影响。
答案 2 :(得分:1)
Java(以及所有基于JVM的语言)和C#/ F#在"虚拟机"内部运行。这意味着用这些语言编写的应用程序不能直接使用硬件资源,它们包含在沙盒中。#34;。它有助于实现可移植性("在任何实现VM的地方运行")但可能会损害性能(和确实如此)。
答案 3 :(得分:0)
因为相对而言,C和C ++是low level programming languages。有些人仍然在Assembler中写道。我希望没有人仍在机器代码中写道。无论如何,
为什么不使用Java,C#,COBOL,Pascal或其他第三代编程语言来生成与机器无关的代码,同时还可以自由地进行低级调整和优化?
这些语言被归类为high level languages。它们提供了一定程度的机器抽象,有利于编程,但对低级裸机开发无用。此外,BWK可能会Why Pascal is Not My Favorite Programming Language相关。