Web後台語言的選擇?
來源:互聯網
上載者:User
關鍵字
Node
PHP
js
vs
後台語言比較多。在選擇方面 PHP vs. Node.js,想請教一下建議。Node有崛起之勢,就像以前一樣,比較少人涉足程式員這個職業,所以敲代碼敲代碼。
回複內容:
就進化來說,js速度快於PHP,ES6還沒普及,都開始ES7了,文法變化太多,三天不寫就跟不上,Node就更快了,一天一個版本,Express更偏激,找個去年的代碼範例都跑不了,很多變了。
PHP談不上語言設計,也沒有美感,寫多了,甚至有點想吐,但PHP是實用主義,能出活啊,出活快啊,Node.js先不說js的回調能不能適應(Promise),回調中的異常捕捉等等問題,但javascript並非為web專生,寫web欠缺的東西很多,比如sprintf沒有、strftime沒有、strtotime沒有,連擷取時間戳記都要 parseInt((new Date()).getTime()/1000),模板解析也沒有,當然這些都可以依賴第三方包,結果是寫一個小東西,到處都是 require。
PHP就簡單多了,基本上你需要的內建函數都有,實用來說,Node還差很多。題主想自己玩玩還是拿來謀生?
拿來玩玩就在這裡繼續看答案。
想找工作去拉勾看看自然有答案了。學會一門優秀的技術然後沒有沒有offer也是很苦惱的。寫過7年PHP,5年Javascript,讓我從頭選,我選Javascript。
原因如下:
PHP到目前仍然只是WEB後台語言,Javascript已經是全棧語言(WEB,案頭,移動,嵌入式,資料庫等都有重要應用),如果程式設計語言是一種投資,Javascript的長期回報更高。
PHP在實際編程環境裡主要仍然是一種OO語言,Javascript實際情境裡的多範式應用隨處可見(OOP,Functional,Event Driven,Declarative Programming等等),學習Javascript能開啟你的思維。
WEB開發無可避免的是全棧開發,當你需要做前端的事的時候,Javascript是唯一的目標語言。
Javascript的工具鏈比PHP的靈活,迭代更快,社區支援更好(PHP的核心社區小很多);再者,PHP能做的,還沒發現Javascript在V8上做不了的。當然是 Haskell 了,連 Facebook 這樣的寫 PHP 的公司都開始用 Haskell 處理一些高效能服務了。
常見疑問:
一、Haskell 小眾,職業選擇不多。
答:學了 Haskell 分分鐘轉 Node.js 不是問題。
二、學不會怎麼辦?
答:首先,你要試試才知道智商夠不夠。其次,到時候還可以參考本問題下其它回答。看答案沒用,每個人都會推薦他心中的神器,但是實際上帶有太強的主觀效能,這也是無法避免的,因為不存在精通所有語言的人,俺感覺cpp js這四門語言夠了。中小項目。首推Rails。
PHP代碼醜陋,Node.js玩玩可以,真做項目頭疼。
唯有Rails,寫Web項目如行雲流水。擁有中小企業快速起步所必須的開發效率。
ROR也是國外初創企業的首選。例如:twitter airbnb 500px kickstater square hulu producthunter等等
各種強大的GEM,比如登入管理Devise、圖片上傳管理Papaerclip、角色許可權管理cancan等等。令一般程式設計語言3天5天才能搞定的功能,在Rails裡面幾分鐘就搞定了。
一個用PHP和PYTHON需要寫到絕望的項目,用Rails可能一個月就搞定了。看圖。Github上的語言排行,JavaScript還是比Php要火一點點的。
要麼有社區,要麼有爹。
在有爹方面,Java、C#、Golang比較好。Java有Oracle/IBM等廠商支援,C#有Microsoft支援,Golang有Google支援,都是有實力的公司。PHP勉強可以算有爹,畢竟有Zend/Facebook/Sina等公司支援和使用。Node.js這種東西就算了吧。
在有社區方面,Java、C#、PHP、Python比較好,Golang發展的速度也比較快。感覺PHP現在仍處於上升趨勢,在天朝PHP第一估計10年內沒有問題,更何況PHP要7了題主要找工作的話,還是PHP吧,別聽忽悠去學小眾技術。