編程語(yǔ)言有數(shù)百種,,對(duì)于初級(jí)程序員來(lái)說(shuō),應(yīng)該選哪種編程語(yǔ)言呢,? 主流編程語(yǔ)言之間又有什么差異呢,? 以下是2017年最新的TIOBE世界編程語(yǔ)言排行榜 TIOBE世界編程語(yǔ)言排行榜 這些編程語(yǔ)言之間,,對(duì)于程序員來(lái)說(shuō),到底有什么差異呢,?以主流編程語(yǔ)言為例,,以下分析下各自的優(yōu)劣勢(shì): Java 優(yōu)勢(shì):JVM帶來(lái)安全性上的飛躍,以及優(yōu)秀的跨平臺(tái)能力,。極其龐大的社區(qū),,極其豐富的各種資源。除了極端性能敏感場(chǎng)合,,基本萬(wàn)事通,。勢(shì)力最大的地方是企業(yè)級(jí)程序。 劣勢(shì):社區(qū)普遍有過(guò)度設(shè)計(jì)的傾向,,代碼量爆炸,。即使有IDE輔助不再折磨手指,也是折磨眼睛,。 C 優(yōu)勢(shì):極好的性能,,可靠的標(biāo)準(zhǔn)和編譯器。無(wú)論是自己代碼的行為,,還是操作底層硬件,、操作內(nèi)存,都是直截了當(dāng)不繞彎子,。非常適合底層代碼,,如操作系統(tǒng)內(nèi)核,。 劣勢(shì):語(yǔ)言特性極其有限,,開發(fā)起來(lái)十分繁瑣,,且沒(méi)有任何安全防護(hù),一切全靠程序員自己,。 C++ 優(yōu)勢(shì):和C相去無(wú)幾的性能,,對(duì)C良好的兼容性,極其豐富的語(yǔ)言特性,,開發(fā)效率比C高很多,。適用于對(duì)性能敏感,又有復(fù)雜邏輯的地方,。如游戲,,系統(tǒng)程序等。 劣勢(shì):極其復(fù)雜的語(yǔ)言特性,,既虐待要學(xué)習(xí)的程序員,,也虐待實(shí)現(xiàn)語(yǔ)言的編譯器。導(dǎo)致雖有標(biāo)準(zhǔn),,但一堆編譯器的實(shí)現(xiàn)都不是太一致,。安全防護(hù)有限,自己不小心,,仍然容易出現(xiàn)底層錯(cuò)誤,。 C# 優(yōu)勢(shì):完美版的Java,語(yǔ)言設(shè)計(jì)優(yōu)秀不少,。宇宙第一IDE的加成,。資源也很豐富。適合場(chǎng)合與Java類似,。 劣勢(shì):出身問(wèn)題飽受開源原教旨主義者歧視,,在非微軟平臺(tái)上一直在各種意義上是三等公民。 PHP 優(yōu)勢(shì):為web而生,,專注于web,,開發(fā)web便捷迅速。適合(且只適合)于網(wǎng)站后臺(tái),。 劣勢(shì):語(yǔ)言設(shè)計(jì)簡(jiǎn)陋,。 Python 優(yōu)勢(shì):易學(xué)易用,極高的靈活性,,開發(fā)效率很高,。適合日常腳本,系統(tǒng)管理,,網(wǎng)站后臺(tái),,科學(xué)計(jì)算,膠水語(yǔ)言等等,。 劣勢(shì):性能低下,,多線程支持一直是殘廢狀態(tài),,2/3分裂一直沒(méi)有完全解決,動(dòng)態(tài)語(yǔ)言固有的正確性無(wú)法靜態(tài)分析,,依賴于測(cè)試的死結(jié),。 JavaScript 優(yōu)勢(shì):以前專注于前端,現(xiàn)在大肆攻城略地,,滲透到web技術(shù)所能觸及的任何場(chǎng)合,。最適合的場(chǎng)合永遠(yuǎn)是web頁(yè)面之中。 劣勢(shì):除了沒(méi)有2/3分裂問(wèn)題,,Python的弱點(diǎn)一樣不落地全有,。草創(chuàng)時(shí)的設(shè)計(jì)粗糙,導(dǎo)致大量陰險(xiǎn)的暗坑(如弱類型等),,因?yàn)榧嫒菪詥?wèn)題一直不能完全填平,。 obj-c 優(yōu)勢(shì):IOS開發(fā)很賺錢。最適合場(chǎng)合:蘋果帝國(guó)里,。 劣勢(shì):依賴IOS,,離開蘋果就沒(méi)人理。 基于以上的介紹,,剛學(xué)習(xí)的程序員們可以根據(jù)自己的興趣,,或者根據(jù)需要,擇優(yōu)選擇學(xué)習(xí),。不過(guò)最后強(qiáng)調(diào)一下: ① 語(yǔ)言只是工具,,假以時(shí)日,你都會(huì)熟練掌握一門/多門語(yǔ)言,。 ② 編程語(yǔ)言用來(lái)表達(dá)你對(duì)計(jì)算機(jī)的理解,,表達(dá)你的想法,所以解決問(wèn)題的思路及方法更為重要,。 |
|
來(lái)自: Frank_Chia > 《JAVA》