低层级思考,高层级编码
在编程领域,有一个常见的建议是:“如果你想编写最好的高级语言代码,那就学习汇编语言”。在如今高级语言盛行的时代,我们该如何理解这一建议,又怎样才能写出高质量的代码呢?下面我们就来深入探讨这些问题。
1. 编译器质量的误解
在个人计算机革命早期,高性能软件通常用汇编语言编写。随着时间推移,高级语言的优化编译器不断改进,其开发者宣称编译器生成代码的性能能达到手工优化汇编代码的 10% - 50%。这使得高级语言在 PC 应用开发中逐渐崛起,很多程序员认为“我的编译器能达到汇编速度的 90%,使用汇编语言太疯狂了”。然而,他们往往没有编写手工优化的汇编版本应用来验证这些说法,其对编译器性能的假设常常是错误的。
实际上,优化编译器在合适条件下能生成接近手工优化汇编语言的代码,但高级语言代码必须以恰当方式编写。这就要求程序员深入理解计算机的运行和软件执行原理。
2. 学习汇编语言的好处
早期程序员放弃汇编语言转而使用高级语言时,他们通常理解高级语言语句的底层影响,能合理选择语句。但后来的程序员没有掌握汇编语言,无法明智选择高级语言语句和数据结构,导致其应用与手工优化的汇编程序相比,性能差距明显。
有经验的程序员建议新程序员:“如果想学会编写优秀的高级语言代码,就需要学习汇编语言”。通过学习汇编语言,程序员能考虑代码的底层影响,从而在高级语言编程中做出更明智的决策。
3. 学习汇编语言并非绝对必要
虽然对于全面发展的程序员来说,学习汇编语言是个不错的想法,但实际上,学习汇编并非编写高效代码的必要条件。关键在于理解高级语言如何将语句转换为机器代码,以便选择合适的高
超级会员免费看
订阅专栏 解锁全文
5089

被折叠的 条评论
为什么被折叠?



