对编程语言的歧视也是一种过早优化思维的体现 - snarky

21-11-16 banq

您是否曾被告知 Python 不能用于项目,因为它不够快?我有,而且我觉得这有点令人沮丧,但是大银行、YouTube、Instagram 和许多其他对性能敏感的地方仍然设法选择 Python 。这时我才意识到问题在于人们并没有将语言选择视为过早优化的潜在体现:如果您根据对语言执行方式的先入为主的观念来选择一种编程语言,您将永远不会知道该语言是否可能成为一个更好、更高效的适合您的开发人员。

过早优化是计算机科学万恶之源!

这篇博文将论证,即使对于具有性能问题的项目,以及如果您的第一次尝试不够快,如何以迭代方式努力提高性能,选择 Python 也是有意义的。您可以在满足需求的任何时候停止的一般步骤是:

  1. Python 中的原型。
  2. 优化您的数据结构和算法。
  3. 尝试另一个 Python 实现(不需要很多代码更改)。
  4. 使用 Python 的语言绑定来优化使用另一种语言。

您还必须意识到 Python 和我上面提到的所有库都在不断改进。例如,CPython 3.11 已经比 3.10 快了很多。这种趋势将持续下去,因此在 2022 年 10 月升级后,您很可能会自动获得性能提升

 

网友讨论

我不同意这篇文章。选择正确的编程语言就是了解手头的问题并为工作选择最佳工具。其中一项要求是了解您选择的长期影响并提前计划。如果您稍后需要更改整个结构,因为您决定使用不适合的编程语言/平台,那么当整个事情必须在其他地方重新完成时,您将陷入困境。这不是过早的优化。

 

我确实认为人们(尤其是在经验范围的初级端)在语言选择上花费的时间和精力比有用的要多。有时这是由于对与上下文无关的性能的担忧。

 

大多数人只知道“过早优化是计算机科学万恶之源”这句话,但他们不知道前面的部分

 

“计算很便宜,程序员很贵”

 

 

1
猜你喜欢