哪種編程語言更好?真的不重要
先來看個例子。兩個工匠制作國際象棋,其中一個工匠使用傳統的工具——各種規格的鑿子、銼刀和錘子,首選的材料是石頭。他仔細地雕刻細節,像他 的父親做的那樣。另一種工匠使用更現代的技術去熔化金屬、使用模具制作,他使用火以及可以承受極高溫度和壓力的模具和工具。最終,這兩個工匠的作品同樣精 致、細膩、美麗。
誰的方法更好?
這兩個工匠產生了同等價值的東西——美麗的國際象棋。你可能更喜歡經典樣式的石質棋盤,或者更喜歡冰冷的沉甸甸的金屬制品。你的選擇與工匠們所使用的方法沒有任何關系,你只關心最終產品。
同樣,開發一個應用程序,選擇什么語言真的不是很重要。自各種編程語言誕生以來,關于孰優孰劣的爭論一直沒有停止過,比如“Python 更好,因為……”、“PHP 是戰斗力不足 5 的渣,Ruby 才是王道”……此類話題如同一針雞血,可以瞬間點燃碼農們的斗志。
編程語言擁護者眼中的編程語言
選擇編程語言和工匠選擇材質是一樣的,其中一個工匠之所以選擇石頭,可能他認為石頭比金屬好一些。爭論這些毫無意義——因為兩種方法創造了類似的結果和價值,而且這兩種方法都是有用的。
其實,我們應該將時間花費在如何創造更有價值、更具創新的東西上,而不是在這些無關的討論上。
我們幾年前開發的一個產品中包含了一個 Python 后端和 PHP 前端,盡管我的很多同事都討厭 PHP,但一點都不妨礙該產品的開發和使用。去年,我們才遷移到一個新的基于 Python 的 Web 框架。這一決定并不是因為 PHP 不好用,而是出去其他方面的考慮,如開發者的技能、PHP 框架老化(一些功能需要重寫)等。盡管遷移到了 Python 框架,該產品中還是包含了基于其他語言的代碼。
編程語言只是一個工具,重要的是使用這些工具做出的產品。每個開發者應該盡可能了解如何使用不同的語言和不同的方式來完成同樣的事情。一旦開發者開始思考他們選擇的語言是否優于另一種語言時,就應該回顧一下文章開頭的工匠的故事。
最后要說的是,語言并不重要,重要的是你拿它做什么。