作為一名WEB工程師從長遠的角度來講 哪幾種語言 更值得深入學習?

來源:互聯網
上載者:User
我想建立自己的技術棧 目前考慮的語言有 PHP javascript python c++ ruby go
有不錯的推薦也請說明,謝謝。
請從長遠的角度進行分析 並說明原因,感激不盡!

回複內容:

1、程式設計語言只是工具,先選一種精通了(Python、php、Java等)。
2、web開發,javascript 必須會的,前提是1中的任意一種精通了,javascript 不是事兒,很快就可以拿下。
3、web開發,有走前端和後端路線。除非你想當全棧工程師。
4、重點來了,如果走後端,不是純程式設計語言的事,你要研究的多了,分布式,高並發,資料庫主從,讀寫分離。Nosql,緩衝、API開發,全文檢索索引、營運等等。
先選擇一門程式設計語言精通了,Go 可以關注,目前選擇Python 深入學習是比較好的選擇之一。不要陷入語言之爭!

每當有人問我學哪門語言的時候,我都是這樣回答的:

你身邊有會 JAVA 的,你就去學 JAVA,
你身邊有會 PHP 的,你就去學 PHP,
你身邊的人會什麼,你就學什麼,不會就問他。

他不理你?
請他吃飯呀!

他還會告訴你你接下來應該學什麼。

跟人,而不是跟技術。

你說身邊一個會編程的都沒有要怎麼辦?
你不是遇見我了嗎?
關注我,學前端!對於找學習,做項目,找工作,推薦Java!用了一年的Python,除了熟悉調用各種方法,庫,架構,感覺沒啥進步。果斷轉Java。

Python記憶體是怎麼回收的?
引用計數。
然後呢?
不知道了…

Python形參傳遞是值傳遞還是引用傳遞?
啥?

能談一談Python的並發嘛?
不能,我只知道有GIL,其它並不知道…

Java是咋記憶體回收的?
首先 Java將記憶體分為堆區,虛擬機器棧區…
使用可達性分析… 安全點… serial,parNew,parallel scavenge CMS… 記憶體擔保吧啦吧啦…

我們聊聊並發吧
嗯,偏置鎖,輕量級鎖,重量級鎖… volatile關鍵字的語意…

能聊聊Java的重載和重寫嗎?
重載底層使用靜態多指派,根據方法靜態參數類型在編譯期就決定好了使用哪個版本的方法,重寫使用的是動態但單分配,根據接受者的類型選擇相關方法…

不是要噴學Python 不好,因為語言沒有好壞,只有合適和更合適。而是覺得應該要有一門比較過硬的靜態類型語言如c/c++,java,c#等基礎,再來用Python等指令碼語言才能事半功倍。初學就學指令碼語言,感覺很虛。

因為是要做Web,所以推薦Java。學Java好處就是:很多公司用,而且如果你想,能夠學到更多所以然。而指令碼語言,不是頂級大神,只能調調API。對於底層的機制,很少有相關的資料供你一步一步學習。不要跟我說直接看源碼,我們都是普通人。不是大神。

以上就是個人愚見。英語。Web 開發,是一件非常龐雜又繁重的工作,而且大多數情況下都是在和各種規則打交道,像什麼 HTTP 協議,資料庫的連結字串,CSS,HTML,JavaScript的文法,開發工作流程協助工具輔助的配置,什麼 angular ,jQuery架構……

根本學不完,學了也是過兩年又有什麼把原來的擠掉了,像es6擠掉了jQuery,像typescript擠掉了coffeescript,像nodeJS ,PHP,elixir,f#,Ruby ,julia,Python之間在相同領域的廝殺和混戰。

作為一個有點經曆的人,想給的建議是:

把電腦換成 Linux 系統,用 c 語言實現一個靜態檔案伺服器,然後用JavaScript在盡量不引用第三方庫的情況下,做一個可以登入評論動態更新的小網站,然後買個雲端服務器,實實在在的部署一次。

盡量用最原始的辦法,盡量不要用什麼架構,當這個過程完成以後,至少會有一個骨架,有了骨架就可以讓它豐滿。

為什麼是 Linux 系統,它更直白的告訴你,作業系統到底是怎麼工作的。

為什麼是 c 語言,它更直白的告訴你,事情是怎麼完成的。

為什麼是JavaScript,它浩如煙海的開原始碼和nodeJS 簡單的哲學,更真實的向你展現,那些規則和如何玩那些遊戲。(首先說一下,請注意大小寫,關愛強迫症患者...)
就以你考慮的這幾門語言開始說吧:

PHP:後端路線選修,小型的互連網公司適用,學習門檻低,適合快速開發,但是效能比較平庸(PHP7有顯著改善),作為專為Web而生的語言,近幾年沒啥太大動靜,不如JS和Python發展活躍,好在市場佔有率高,需求量比較大,但是同樣由於門檻低,學的人越來越多,競爭也逐漸加大。(在回答問題之時,我不推薦深入學習PHP)
JavaScript:前後端路線必修,這個目前潛力巨大,熱度很高,如果是搞前端,怎麼深入都不過分,能把JavaScript學好是可以讓你實現財務自由的...但是缺點是知識體系越來越龐大,分支較多,架構更是數不勝數,想學好幾乎沒個頭。後端的話JS也是要掌握的,不然在JS大行其道的今天,你一個後端不懂JS,與前端交流很困難。JS從一門單純的網頁指令碼語言已經蛻變成一門Web全棧開發語言,如今JS能做的東西實在太多了,JS社區甚至像Facebook這種矽谷公司都熱衷於努力為JS做開源貢獻!而且諸如為非同步而生的Node.js,甚至跨入Native App開發領域的React,每開源一項技術都會是一種Web黑科技,敢問哪種語言能做到?(推薦最有學習精神的開發人員深入學習)
Python:後端及營運選修,說是選修,其實基本上不修不行了,如今的創業公司更傾向於Python,從某一方面講他與PHP是極其相似的,但是Python能做的事太多了,我最喜歡把Python比作一把瑞士軍刀!PHP遠遠做不到。效率上要從兩方面講,效能上,語言本身效能一般,但是作為膠水語言,你懂得;開發上,效率高,這也是受追捧的重要原因。WEB的話還有營運方向,Python對他們來說就顯得尤其重要了...當然你應該不想去做營運。深入學習Python,會讓你變得更加Geek,會讓你的工作更加Automatic,優秀的Python崗還會付給你大把的薪水(同樣推薦每位工程師深入學習,但是不一定只專註這一項)( 2016.11.15 增:Python一種優秀的效能解決方案是PyPy實現,儘管需要和官方磨合,但是對Python及其效能感興趣,有意瞭解其底層實現的話好好研究下PyPy
C++:底層工程師必修,如果一個Web工程師想深入研究C++,我不排除他有自虐傾向。我本科EE搞硬體的,C++是給我們用的,你對底層開發有追求的話,比如Web Server,你可以深入研究C++,還有C++搞Server也基本是遊戲領域...而且C++難啊,你就是深入研究幾年也夠嗆研究出什麼道道來,你搞廣義上的Web開發的話,有這份心還是好好研究其他的吧。(不推薦)
Ruby:個人開發人員選修,聽說過Eagles樂隊的《Hotel California》嗎?這首歌太出名了,以至於Eagles的其他優秀歌曲失去了光澤。提到Ruby,肯定就是RoR架構了,RoR太出名了,以至於人們很難對Ruby有其他的期望,但是除了RoR,Ruby還有什嗎?是的,還有那紅寶石般優美的文法。寫Ruby是挺享受的,隨心所欲,但是抱歉,有時候太自由了卻並不是團隊開發所需要的。學Ruby,可以,我將其定義為個人開發人員選修課,或許這門語言更適合創業...當然,你會說Ruby在矽谷很受歡迎,But,這裡是CHINA,you know。還有一點,Ruby畢竟出生在島國,你要是日語上沒兩把斧子,還想融入他們社區?(不推薦)
Golang:底層工程師選修,這還是一門搞Web底層的語言,他的正確歸類和C/C++一樣,叫做“系統程式設計語言”,明白了嗎?畢竟是出生在新時代,天生內建優秀並行編程能力,2016年10月TIOBE排行上,Go表現出了強勁的勢頭,而且學Go的人普遍有點想抱Google的大腿的意思嘛...Go和同樣勢頭很猛的Swift一樣,需要觀望,先不要著急。(不做引導)( 2016.11.15 增:目前Go方面成熟的Web架構有gorilla以及國內的beego,可以自行搜尋瞭解。

丫的,找了一遍竟然沒提我大Java,網路編程第一語言,這可是走向人生巔峰的重要途徑之一啊,你這是戰略性忽視了嗎?不要去學語言。
去學架構,學工具,最重要的是學原理。這東西,口味問題而已。
js Python ruby go地位會上升,php會下降,java不變。
學啥都行。JS簡單即是美學習無止境!多門技術多條路!
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.