为了编写更好的代码,深入了解编译器的作用是否值得?
多少就足够了?我不是一个擦洗器,但我在想,了解编译器的运行方式会让我成为更好的程序员.我错了吗?
如果是这样,您会推荐哪些资源?
知道编译器如何优化代码,但不要为编译器编写代码,而是写给人们阅读,可能不会有什么坏处.
以更适合编译器的方式编写代码可能会使人们更难以阅读它,现在编译器可能更了解为您优化代码.
在没有任何有效性证据的情况下,我觉得更好地了解我的代码会发生什么,因为我只知道编译器和一些汇编.通过阅读Jack Crenshaw的Let's Build a Compiler,你可以学到很多东西.
如果您发现自己感兴趣,那么您可能会研究更复杂的编译器方法.
编辑:值得注意的是,许多不需要"编译器"的问题仍然最好由编译器方法提供.解析任何适度复杂的命令语言都是编译器问题,即使您没有编写可执行文件也是如此.
编辑2:许多通常的文本对编译器问题采取了相当抽象的数学方法,这可能会让人感到恐惧或困惑.Crenshaw教程采用了"开始敲击代码"的方法,该方法由作者更加微妙的理解提供信息.很好的介绍,但如果你是认真的,你应该跟进一个更正式的研究.