C语言程序运行时要比其他语言编写的程序快得多,因为它“离底层机器很近”,这个说法正确吗?
如果正确,那究竟是什么阻止了其他语言编写的程序和C语言程序一样快呢?
C语言程序快是因为它简单
编程语言其实就是程序员与机器沟通的一门“外语”,可以认为编程语言是为程序员和机器服务的。事实上,在设计编程语言时,常常需要在一些问题上取舍以寻求平衡,天平的两端则分别是程序员和机器。
人类和计算机的思考方式是有很大差异的,因此如果某种编程语言偏向程序员,那么可能程序员写程序会很方便,但是最终得到的程序对机器就不够友好了,效率会有损失。例如 Python,JavaScript 等脚本语言。
相反,如果某种编程语言偏向机器,那么最终得到的程序效率会得到最大程度的提升,但是这样的编程语言可能对于程序员就会不太友好,开发效率会有所降低。这类编程语言以C语言,以及汇编语言为代表。
开发效率会有所降低
C语言诞生时,计算机技术还不是很发达,这可能是影响“天平”平衡的一个重要因素。如今,新出现的一些编程语言通常都会更加“照顾”程序员,“垃圾回收”以及“动态类型”等机制几乎已经成为标配了。
原因也很简单,因为在如今快