这个问题似乎已经解决了,甚至被过度讨论了。聪明人已经就此发表了聪明的观点。要成为一个真正优秀的程序员,你需要了解C语言。
或者说呢?
这周我受到了两次启示。第一次启示让我意识到我的假设不会超越我所掌握的知识,而考虑到在我的计算机上运行的软件的复杂性,那几乎是不存在的。但真正让我产生共鸣的是这篇Slashdot评论:
我有些困惑。我的思维已经像Dijkstra所说的BASIC那样无法挽回地被毁坏了吗?我是否一直处于过度优化的状态中?现在我意识到自己对任何事情都一无所知,还有希望吗?有什么东西需要知道吗?为什么这些问题如此迷人,我在过去五年里写的所有东西可能都是基本上错误的?
简而言之:除了API文档告诉我什么之外,还有其他知识价值吗?
编辑:已变更为社区wiki。当然,这也意味着你必须发布比我们更好的解释器/运行时的示例 :)
或者说呢?
这周我受到了两次启示。第一次启示让我意识到我的假设不会超越我所掌握的知识,而考虑到在我的计算机上运行的软件的复杂性,那几乎是不存在的。但真正让我产生共鸣的是这篇Slashdot评论:
结果是我注意到传统C“裸机”程序员假定高级语言实现方式的很多幼稚方法。他们在影响的项目中做出糟糕的“优化”决策,因为他们不知道编译器如何工作,也不知道一个良好的运行时系统可能与他们理解的幼稚宏汇编模型有多么不同。然后我想到:C语言只是更多的抽象,像其他所有抽象一样。甚至CPU本身也只是一个抽象!我从来没有看到它崩溃,因为我没有衡量它的工具。
我有些困惑。我的思维已经像Dijkstra所说的BASIC那样无法挽回地被毁坏了吗?我是否一直处于过度优化的状态中?现在我意识到自己对任何事情都一无所知,还有希望吗?有什么东西需要知道吗?为什么这些问题如此迷人,我在过去五年里写的所有东西可能都是基本上错误的?
简而言之:除了API文档告诉我什么之外,还有其他知识价值吗?
编辑:已变更为社区wiki。当然,这也意味着你必须发布比我们更好的解释器/运行时的示例 :)