學(xué)不動了
最近看到一個特別有意思的問題:

小時候我也天真地想過類似的問題:
為什么不統(tǒng)一成一個國家?
為什么全世界不統(tǒng)一語言?講一種語言交流起來多方便。
為什么全世界不統(tǒng)一貨幣?使用一種貨幣買東西多便利。
這種大一統(tǒng)的思想在現(xiàn)實世界很難實現(xiàn),因為世界是復(fù)雜的是多樣性的。
回到編程語言,IT 技術(shù)發(fā)展幾十年出現(xiàn)了上百種語言,并且沒有出現(xiàn)趨同的跡象,我認(rèn)為有以下幾個原因:
技術(shù)更迭速度快,舊語言無法匹配現(xiàn)代化開發(fā)效率;
商業(yè)競爭,語言代表生態(tài),巨頭捆綁利益;
其中「開發(fā)效率」是最最重要的原因,理論上懂匯編的人可以寫出各種各樣的軟件,你讓他用匯編寫一套游戲出來,那不得累死。
從1843 年第一位女程序員誕生,1957年第一個正式的編程語言誕生:FORTRAN,編程語言逐漸從低級從向成熟,程序員們也開始由 955 慢慢走向 996,哈哈哈~

為了解放生產(chǎn)力,編程語言變得高級了,但大家加班卻變多了,真有意思!
下面我們看看編程語言的發(fā)展歷史:
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (LISP 語言的祖先)
1955 – FLOW-MATIC (COBOL 語言的祖先)
1957 – FORTRAN (第一個編譯型語言)
1957 – COMTRAN (COBOL 語言的祖先)
1958 – LISP
1958 – ALGOL 58
1959 – FACT (COBOL 語言的祖先)
1959 – COBOL
1959 – RPG
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (C語言的祖先)
1964 – BASIC
1964 – PL/I
1966 – JOSS
1967 – BCPL (C語言的祖先)
1968 – Logo
1969 – B (C語言的祖先)
1970 – Pascal
1970 – Forth
1972 – C
1972 – Smalltalk
1972 – Prolog
1973 – ML
1975 – Scheme
1978 – SQL
1980 – C++ (既有類的C語言,更名于 1983 年 7 月)
1983 – Ada
1984 – Common Lisp
1984 – MATLAB
1985 – Eiffel
1986 – Objective-C
1986 – Erlang
1987 – Perl
1988 – Tcl
1988 – Mathematica
1989 – FL
1990 – Haskell
1991 – Python
1991 – Visual Basic
1993 – Ruby
1993 – Lua
1994 – CLOS (ANSI Common Lisp 的一部分)
1995 – Java,原來你誕生這么早~
1995 – Delphi (Object Pascal)
1995 – JavaScript
1995 – PHP
1996 – WebDNA
1997 – Rebol
1999 – D
2000 – ActionScript
2001 – C#
2001 – Visual Basic .NET
2002 – F#
2003 – Groovy
2003 – Scala
2007 – Clojure
2009 – Go
2011 – Dart
……不列舉了,因為 Java 是世界上最好的語言。(手動狗頭,保命)
如何選擇一門編程語言?
經(jīng)常有讀者私信我:
小帥,我對編程非常感興趣,但是編程語言太多了,學(xué)姐推薦我學(xué) Java, Java 好找工作;師兄推薦我學(xué) C++,搞底層才是最屌的;同學(xué)說現(xiàn)在流行 go 語言,其他語言都不行了,我現(xiàn)在很迷茫不知道該學(xué)什么?!
選擇編程語言障礙最大的原因還是因為不知道自己要什么。我覺得可以從下面幾個方向考慮:
(1)從自己感興趣的領(lǐng)域入手
每種語言都有自己擅長的領(lǐng)域,可以先找自己喜歡的領(lǐng)域再反推語言。
比如你特別喜歡視覺界面,喜歡所見即所得的感覺,那么我推薦你搞前端,可以學(xué)習(xí) JavaScript 語言,后續(xù)深入學(xué)習(xí) react、vue 等前端框架;
比如你喜歡網(wǎng)絡(luò)爬蟲,從網(wǎng)上爬各種東西玩,那你可以學(xué)習(xí) python 語言;
比如你喜歡后端開發(fā),對大型網(wǎng)站系統(tǒng)高并發(fā)、分布式等特別感興趣,你可以先學(xué)習(xí) Java 語言;
等等。
(2)從自己神往的公司入手
比如說你神往字節(jié)跳動,喜歡字節(jié)范,喜歡字節(jié)工牌,那你可以先學(xué)習(xí) go 語言,字節(jié)內(nèi)部大量使用 go 語言;
比如說你神往阿里,喜歡阿里味,那你可以先學(xué)習(xí) Java 語言,淘寶、天貓等喜歡大量使用 Java 技術(shù)棧;
等等。
以上就是選擇編程語言的兩個小建議,希望對你有幫助。
做個安靜寫代碼的美男子
經(jīng)常聽一些大神說:語言不重要,語言僅僅只是工具,思維方式才是最重要的。
工作了幾年我也發(fā)現(xiàn)了:原來安靜寫代碼是最簡單最單純的?。。?/strong>
-- End --
???? 快問快答,計算機(jī)網(wǎng)絡(luò)面試奪命20問
作者簡介:
博主從華中科技大學(xué)碩士畢業(yè),是一個對技術(shù)有追求,對生活有激情的程序員。
幾年間浪跡于多個一線互聯(lián)網(wǎng)大廠,具有多年開發(fā)實戰(zhàn)經(jīng)驗。如果你熱愛技術(shù)或者你也不滿足現(xiàn)狀喜歡搞事情,那你不妨關(guān)注我,讓我們一路同行,一起分享技術(shù)干貨、交流面試技巧,吐槽職場故事。
我有技術(shù)和故事,你來嗎?
