gpt4 book ai didi

compiler-theory - (何时)我应该学习编译器吗?

转载 作者:行者123 更新时间:2023-12-03 07:56:24 25 4
gpt4 key购买 nike

根据这个http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html文章,我绝对应该。

Quote Gentle, yet insistent executive summary: If you don't know how compilers work, then you don't know how computers work. If you're not 100% sure whether you know how compilers work, then you don't know how they work.



觉得是一篇很有意思的文章,对应用领域很有帮助(帮自己一个忙阅读一下)
但话说回来,我见过成功的高级软件工程师,他们对编译器或内部机器架构不太了解,
但确实知道以下列表中每个项目的一两件事:
  • 编程范式(面向对象、函数式等)
  • 一种编程语言 API(C#、Java ..)和至少 2 种截然不同的说法! (Java/Haskell)
  • 一个编程框架(Java、.NET)
  • 一个让你更有效率的 IDE(Eclipse、VisualStudio、Emacs……)
  • 编程最佳实践(例如参见 fxcop 规则)
  • 编程原则(DRY、高内聚、低耦合……)
  • 编程方法 ( TDD , MDE )
  • 设计模式(结构、行为……)
  • 架构基础知识(层、层、流程模型(瀑布、敏捷等)
  • 测试工具(单元测试、模型测试等)
  • GUI 技术(WPF、Swing)
  • 一个文档工具(Javadoc、SandcaSTLe ..)
  • 建模语言(可能还有工具)(UML、VisualParadigm、Rational)
  • (无疑在这里忘记了非常重要的东西)

  • 并非所有这些工具都是成为一名优秀程序员所必需的(就像不需要时的 GUI)
    但他们中的大多数是。编译器从何而来,它们真的那么重要,因为正如我所提到的,
    许多程序员在不了解他们的情况下似乎做得很好,特别是,成为一名优秀的程序员可以看到几乎一生的成就:-),所以即使编译器非常重要,也不是总是有更重要的东西吗? ?

    或者我应该今天订购“The Unleashed Compilers Unlimited Bible(24H ..))”?

    对于已经阅读文章并想立即开始学习的人:

    Learning Resources on Parsers, Interpreters, and Compilers

    最佳答案

    如果你只是想成为一名普通的编码员,并写一些东西......你不需要使用编译器。

    如果你想学习计算机科学并欣赏并真正成为一名计算机科学家,你必须学习编译器。

    编译器是计算机科学的缩影!它包含每一个问题,包括(但不限于)人工智能(贪婪算法和启发式搜索)、算法、理论(形式语言、自动机)、系统、架构等。

    你会看到许多计算机科学以惊人的方式融合在一起。你不仅会更多地了解为什么编程语言会以它们的方式工作,而且你会因为有了这种理解而成为更好的编码员。您将学习了解低级别,这有助于高级别。

    作为程序员,我们经常喜欢谈论事物是一个“黑匣子”……但是当您对盒子里的东西有所了解时,事情就会顺畅得多。即使您不构建完整的编译器,您也一定会学到很多东西。您将看到解析背后的形式主义(并意识到这不仅仅是一堆被黑客攻击的特殊情况),以及一堆 NP 完全问题。您将明白为什么计算机科学理论对于理解实际事物如此重要。 (毕竟,编译器非常实用……如果没有形式主义,我们就不会有今天的编译器)。

    我真的希望你考虑学习它们......它会帮助你作为一个计算机科学家达到一个新的水平:-)。

    关于compiler-theory - (何时)我应该学习编译器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733093/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com