2

在现代世界学习汇编语言有什么意义,还是我应该坚持使用高级语言?

4

4 回答 4

9

优点:

  • 你会更好地了解计算机
  • 你会更好地理解语言
  • 如果需要,您将能够编写一些真正令人尖叫的代码,或者遵循一些约束(例如在微控制器上编写东西)。虽然通常 C 就足够了。

缺点:

  • 你可能会因为你真正了解计算机而成为一个自以为是的混蛋,而受苦是一个难题。
  • 你可能会觉得留胡子并开始破解 Linux 内核或编写设备驱动程序
于 2013-11-09T12:16:50.130 回答
2

我在学习汇编语言时问过自己同样的问题。

组装和了解硬件的工作原理既有趣又具有教育意义。您将了解编译器、CPU 和内存的工作方式。您将学习一些小技巧,这些技巧在应用时会优化您的代码。当你找到工作时,你可能永远不会在装配中工作。对机器的工作原理有一个很好的了解总是好的。

我曾经将 C 代码转换为程序集,以针对某个类对其进行优化。

于 2013-11-09T12:08:23.300 回答
0

“重点”总是取决于......仍然有一些公司希望你用汇编语言编写(提供一些快速的驱动程序、一些极快的图形、一些可在特定机器上实现的软件功能等)。从严格实用的角度来看,我相信能够在汇编中编写一些东西(编写一些程序只是为了学习一些一般规则)是非常好的,因为当你发现自己的工作是编写汇编时代码,你可以进一步学习,因为你已经有了一些经验(而且开始是最糟糕的)。

另一方面,只考虑汇编并没有多大意义,因为今天编写的大多数软件当然是高级(如果不是超高级)编程。所以总结一下我的观点:是的,花一些时间学习汇编代码是件好事(因为汇编语言通常是相似的,如果你学会用一种汇编语言编写它总是学习其他汇编语言的良好基础),但重要的是要记住保持开放的心态并学习一些语言,因为这只会提高你作为程序员的技能。

于 2013-11-09T12:10:56.043 回答
0

如果你只坚持高级语言,总是会出现你无法理解的问题,因为它们的根源在于计算机的实际工作方式。当然,编译器和语言也只是程序,可能存在错误,当您遇到此类错误时,您将无法理解它并围绕它工作。

另一方面,学习汇编可能会妨碍您对高级概念的理解,因此如果您对两者都有很好的掌握,这是一个好主意。

于 2013-11-09T14:09:20.550 回答