對程式語言的歧視也是一種過早優化思維的體現 - snarky

banq發表於2021-11-16

您是否曾被告知 Python 不能用於專案,因為它不夠快?我有,而且我覺得這有點令人沮喪,但是大銀行、YouTube、Instagram 和許多其他對效能敏感的地方仍然設法選擇 Python 。這時我才意識到問題在於人們並沒有將語言選擇視為過早優化的潛在體現:如果您根據對語言執行方式的先入為主的觀念來選擇一種程式語言,您將永遠不會知道該語言是否可能成為一個更好、更高效的適合您的開發人員。

過早優化是電腦科學萬惡之源!

這篇博文將論證,即使對於具有效能問題的專案,以及如果您的第一次嘗試不夠快,如何以迭代方式努力提高效能,選擇 Python 也是有意義的。您可以在滿足需求的任何時候停止的一般步驟是:

  1. Python 中的原型。
  2. 優化您的資料結構和演算法。
  3. 嘗試另一個 Python 實現(不需要很多程式碼更改)。
  4. 使用 Python 的語言繫結來優化使用另一種語言。

您還必須意識到 Python 和我上面提到的所有庫都在不斷改進。例如,CPython 3.11 已經比 3.10 快了很多。這種趨勢將持續下去,因此在 2022 年 10 月升級後,您很可能會自動獲得效能提升

 

網友討論

我不同意這篇文章。選擇正確的程式語言就是了解手頭的問題併為工作選擇最佳工具。其中一項要求是瞭解您選擇的長期影響並提前計劃。如果您稍後需要更改整個結構,因為您決定使用不適合的程式語言/平臺,那麼當整個事情必須在其他地方重新完成時,您將陷入困境。這不是過早的優化。

 

我確實認為人們(尤其是在經驗範圍的初級端)在語言選擇上花費的時間和精力比有用的要多。有時這是由於對與上下文無關的效能的擔憂。

 

大多數人只知道“過早優化是電腦科學萬惡之源”這句話,但他們不知道前面的部分

 

“計算很便宜,程式設計師很貴”

 

 

相關文章