為什麼我從 Python 轉戰到 Node.js?
老生常談?這些日子誰不是切換到Node呢?我就是其中之一,下面是我的理由。
Python 2,抑或是Python 3?
Python版本之間缺乏重點和運轉是一個巨大的陣痛。是的,我知道很多庫正在被轉換或已經被轉換過了。但是,一個接一個地缺乏重點以及明確的方向使得我對它的信任降到歷史最低。我知道這和不想移動的社區有很大的關係,但開發人員對此不買賬,儘管是社區驅動項目。
nodejs-logo-2
Unicode支持
你有沒有試過在Python中使用Unicode?TMD真心太痛苦了。是的,關於這個主題有很多這方面的文檔,因此它不應該那麼令人費解。Python 3是一個進步。當然我並沒有說Node和JavaScript在這方面非常突出,但它們絕對有更佳的選項。
循環導入
循環導入是任何Python程序員的痛苦之源,並且在我看來是這個語言非常破的一個架構選擇。我知道在大多數情況下,循環導入是模塊設計被破壞的一個標誌。但是,如果你是一個有經驗的開發人員,那麼可能你會將更多的時間花在將Python硬塞到高級模式中。好吧,對此我只想說祝你好運。Node.js允許我導入模塊到任何地方。
旁註:顯然Go也有這個限制。這太讓我傷心了:(
NPM VS PIP
Python有PIP,這真的很棒。不過,我在NPM上經常能發現更多最新的現代化模塊。隨著NPM上其他共享的內容也出現了廢話,因而你得對此提防。我一直認為在PIP上共享煩人,而在NPM上真心易如反掌。我的第一個模塊共享只用了總共5分鐘。
效率=更多錢!
這是毫無疑問的。當涉及到硬體(如果編寫正確的話)的時候,Node比Python更精簡。能夠真正利用低端硬體併產生可接受結果是一個重要優勢。很多優勢都可以歸結為Node的非同步特性。是的,我知道Twisted和類似的庫。你有沒有在其中實際寫過一個非同步app?在構建一個產品時,開發速度很重要,但保持低的開銷成本也很重要。我們可以運行相同的Node項目在Python所需的一半硬體上。
團隊熟悉度
這總是一個值得探討的話題,但是我更喜歡整個團隊都能有一個基本的JavaScript水平。這意味著他們可以查看Node代碼,並理解是怎麼回事。如果團隊裡面有前端開發人員,那意味著連接到API端點或處理意見非常容易。這對我而言也意味著在幫助他們時受到的干擾更少。太棒了!
MongoDB和JSON
我們喜愛MongoDB和JSON。Node不假思索地使用它倆。當然,顯然這也可以用其他語言來完成,但是它的便捷性有著致命的吸引力,使得我不得不提到它。
它就是JavaScript
如果你像我這樣熱愛JavaScript,那麼這是一個額外的優勢。如果你不喜歡JavaScript,那麼這個優勢可能也不是很大。我認為JavaScript之所以有趣是因為它善於表達。它提供了很多做事的方法,這在應用特定策略來解決關鍵問題時非常棒。這也滋生了一些愚蠢的辯論,例如「添加分號VS不要分號」。在此鄭重聲明,我贊同使用分號。
結論
需要說明的是,我依然深愛著Python。它已經陪伴了我好多年,並且我用Python寫了好幾個產品app(見Postach.io和QuoteRobot),然後經常用於快速伺服器腳本。Node.js本來並非我的第一選擇,但是我想要一些現代化的東西,並且做一些新穎的Web設計。PHP,Python和Ruby顯然不符合要求。我的第一個選擇是去學習Go(golang),但是由於時間限制和團隊技能集讓我與之無緣。初創企業對工作玩命,你懂的!Node折中了這些方面,允許我們立刻上手。
你對於現代語言有什麼想法?你更喜歡Python抑或其他?為什麼?歡迎分享任何有關於Node方面的「陷阱」。
編譯自:http://geekforbrains.com/post/why-im-switching-from-python-to-node-js
作者: Gavin Vickery
轉載自:碼農網http://www.codeceo.com/article/why-i-switch-python-to-node-js.html
譯者: 小峰


※從數據結構到Python實現:如何使用深度學習分析醫學影像
※用 Python 淺析股票數據
※NBA 史上實力最弱的球隊是哪個?用 Python+SQL 我們找到了答案
※企業AI架構師佟達:無處不在的Python
※提升 Python 編程效率的十點建議
TAG:Python |
※Ben Thompson:Facebook 改變 News Feed 的動機是什麼?
※為什麼Facebook的Head of AI如此憎恨機器人Sophia?
※jQuery UI 為什麼使用部件庫(Widget Factory)
※TensorFlow可以做什麼?讓Google Brain首席工程師告訴你
※抖音檸萱wxx創作的原聲是什麼:短髮The Girl With Short Hair
※iPhoneX或停產是真的嗎?iPhoneX為什麼要停產?
※這雙刷屏的Nike Epic React Flyknit究竟有什麼特別之處?
※為什麼我會被Kubernetes「洗腦」?
※為什麼編程啟蒙要學 Scratch,不是Python?
※Balenciaga 和 Vetements 勁敵出現?大師山本耀司 Y-3 秀場教你什麼才是極簡復古風~
※iPhoneX今秋停產:蘋果 iPhoneX為什麼會停產,iPhoneX停產原因
※Balenciaga和Vetements 勁敵出現?大師山本耀司 Y-3 秀場教你什麼才是極簡復古風
※python是什麼語言?現在學Python好找工作嗎?
※吳亦凡freestyle,張藝興balance,黃子韜go died,那鹿晗是什麼
※蜘蛛Rescue Assist&Atlantic Salt橫向測評:同時擁有是一種什麼樣的體驗?
※John Singer Sargent 他告訴我們什麼是現實主義
※抖音裡面甩手的歌名叫什麼 唱的是Movin like Berney
※Python為什麼這麼火!
※時髦辦 | Céline「落在」Saint Laurent前任設計師手裡會發生什麼?
※集齊全部 Adidas Yeezy系列是什麼感覺?