流行的編程語(yǔ)言隨著時(shí)代發(fā)生了不小的變化,以下這九大被譽(yù)為最有潛力的編程語(yǔ)言可能足以成為你下一個(gè)項(xiàng)目的完美選擇。這些編程語(yǔ)言受歡迎的原因如下:它們提供了開(kāi)源代碼、豐富的庫(kù)和框架。這是多年來(lái)程序員選擇其的主要?jiǎng)恿?,而且?duì)專(zhuān)業(yè)知識(shí)的豐富越來(lái)越有價(jià)值。 有時(shí),主流的編程語(yǔ)言,比如java、javascript,可能不足以解決特殊問(wèn)題。有時(shí),程序員必須超越主流語(yǔ)言尋找正確的語(yǔ)言和架構(gòu),以幫助代碼更快的運(yùn)行,無(wú)需無(wú)限的調(diào)整和優(yōu)化。 以下九大編程語(yǔ)言被列入了眾多程序員的技術(shù)雷達(dá)中,它們可能不是每一項(xiàng)工作的最佳選擇,但它們值得被調(diào)查和投資。 Kotkin:Java程序員可以考慮 Java是一種偉大的語(yǔ)言,支持一些受歡迎的平臺(tái),但它有點(diǎn)老了。Kotlin旨在快速編譯,與Java共存,并修復(fù)了一些Java開(kāi)發(fā)的痛點(diǎn)。 最大的改進(jìn)可能是對(duì)空值的關(guān)注,所有面向?qū)ο蟪绦騿T的痛苦。Kotlin為解決這個(gè)問(wèn)題邁出了一大步,它可自動(dòng)檢查代碼中可能出現(xiàn)的糟糕錯(cuò)誤。如果需要,它也將編譯為JavaScript或本地代碼。Google認(rèn)識(shí)到這個(gè)語(yǔ)言的價(jià)值,現(xiàn)在Android程序員使用Kotlin將得到很好的支持。 Erlang:實(shí)時(shí)系統(tǒng)的函數(shù)式編程 當(dāng)愛(ài)立信的程序員開(kāi)始吹噓其“9個(gè)9”表演時(shí),Erlang可達(dá)到99.9999999%的數(shù)據(jù)可靠性,愛(ài)立信以外的開(kāi)發(fā)者開(kāi)始注意到該語(yǔ)言。 Erlang的秘密功能是范式。大多數(shù)代碼被迫在自己的小世界中操作,不能通過(guò)副作用破壞系統(tǒng)的其余部分。這些功能在內(nèi)部完成所有的工作,只能運(yùn)行在像沙盒一樣的“進(jìn)程”中,只能通過(guò)郵件消息相互通信。無(wú)法通過(guò)一個(gè)指針,快速更改堆棧中任何地方的狀態(tài)。 該模型使運(yùn)行時(shí)代碼更簡(jiǎn)單,運(yùn)行時(shí)調(diào)度程序可利用非常低的開(kāi)銷(xiāo)來(lái)設(shè)置和分解進(jìn)程。Erlang程序員也喜歡在Web服務(wù)器上同時(shí)運(yùn)行2000萬(wàn)個(gè)“進(jìn)程”。 如果你正在建立一個(gè)實(shí)時(shí)系統(tǒng),請(qǐng)查看Erlang。 Go: 簡(jiǎn)單動(dòng)態(tài) 2009年,谷歌發(fā)布了該靜態(tài)類(lèi)型語(yǔ)言,看起來(lái)像C,但程序員不必指定類(lèi)型和調(diào)整malloc調(diào)用。使用Go語(yǔ)言,程序員可以具有編譯C的簡(jiǎn)潔性和結(jié)構(gòu),以及易于使用動(dòng)態(tài)腳本語(yǔ)言。 雖然Sun和Apple分別在創(chuàng)建Java和Swift方面采用了類(lèi)似的路徑,但Google的Go做出了一個(gè)截然不同的決定:只有干凈,簡(jiǎn)單的if-then-else代碼塊操縱字符串、數(shù)組和哈希表。 如果是一家初創(chuàng)企業(yè),希望抓住Google的目光,并且需要構(gòu)建一些服務(wù)器端的業(yè)務(wù)邏輯,那么Go是一個(gè)很好的開(kāi)始。 OCaml:復(fù)雜的數(shù)據(jù)層次結(jié)構(gòu)juggler 對(duì)于想要精細(xì)變量類(lèi)型,甚至創(chuàng)造類(lèi)型迭代的程序員而言,Ocaml是最好的選擇,其有對(duì)象支持、自動(dòng)內(nèi)存管理和設(shè)備可移植性,甚至還有蘋(píng)果App Store提供的OCaml應(yīng)用程序。 TypeScript:你想要的JavaScript 每個(gè)程序員都有喜歡的預(yù)處理器或超級(jí)處理器來(lái)擴(kuò)展和改進(jìn)語(yǔ)言,TypeScript是Javascript的超集,它為所有變量添加了類(lèi)型,這使Java程序員感覺(jué)更加安全,也可以早期捕捉一些bug,提高代碼質(zhì)量。 現(xiàn)在,很多程序員對(duì)TypeScript感興趣的最大原因是Angular,這是編寫(xiě)Web應(yīng)用程序一個(gè)很好的框架。有趣的是,程序員不需要使用TypeScript來(lái)使用Angular。你可以享受其代碼質(zhì)量,并將其與舊版JavaScript進(jìn)行合并,因?yàn)門(mén)ypeScript是JavaScript的超集。 Rust: 安全可用的系統(tǒng)語(yǔ)言 Rust像C的翻新版本,連續(xù)兩年,贏得了Stack Overflow“最受歡迎的編程語(yǔ)言”,這也體現(xiàn)在Stack Overflow流行指數(shù)榜單中,就在幾年前,Rust在名單上徘徊在50左右,今年它躍升到了18。 為什么?也許因?yàn)镽ust清理了很多C語(yǔ)言的棘手問(wèn)題,也許因?yàn)镽ust讓程序員覺(jué)得真正掌握了內(nèi)存變化,而不是等待一些服務(wù)。實(shí)現(xiàn)時(shí),編譯器會(huì)自定義每種類(lèi)型的結(jié)構(gòu),這些開(kāi)發(fā)人員喜歡稱(chēng)之為“單態(tài)”。該語(yǔ)言增加了一些其他限制,以防止開(kāi)發(fā)人員脫離軌道。例如,每個(gè)值都是“owned”,這意味著它只能被消耗一次,從而防止程序其他部分引用。 所有這些功能加上一些更像無(wú)競(jìng)爭(zhēng)條件的線(xiàn)程 - 意味著程序員可以開(kāi)始編寫(xiě)系統(tǒng)代碼,而不會(huì)遇到長(zhǎng)期困擾C程序員的最糟糕的反模式,可以使用編譯器來(lái)獲取編寫(xiě)C的所有硬核,享受高性能的好處。 Scala:JVM上的函數(shù)式編程 如果需要簡(jiǎn)單的代碼、面向?qū)ο髮哟谓Y(jié)構(gòu)的項(xiàng)目,但喜歡功能范例,Scala可以成為一個(gè)選擇。 Scala運(yùn)行在JVM上,通過(guò)提供符合Java類(lèi)規(guī)范的代碼和與其他JAR文件的鏈接,將函數(shù)式編程所有干凈的設(shè)計(jì)限制帶到Java世界。類(lèi)型機(jī)制是強(qiáng)靜態(tài)的,編譯器完成所有推斷類(lèi)型工作。原始類(lèi)型和對(duì)象類(lèi)型之間沒(méi)有區(qū)別,語(yǔ)法比Java簡(jiǎn)單得多,可以將段落長(zhǎng)的CamelCase變量名返回Java Land。 如果必須在數(shù)千個(gè)處理器集群中進(jìn)行數(shù)據(jù)整理,并擁有一大堆舊的Java代碼,則Scala是一個(gè)很好的解決方案。 Haskell:函數(shù)式編程,純而簡(jiǎn)單 二十多年來(lái),從事函數(shù)式編程的學(xué)者一直在積極開(kāi)發(fā)Haskell,導(dǎo)致它是函數(shù)式編程理想更純粹的表達(dá)之一,具有處理I / O通道和其他不可避免的副作用的謹(jǐn)慎機(jī)制。 社區(qū)非?;钴S,有十幾個(gè)Haskell變種等待探索。有些是獨(dú)立的,有些與Java(Jaskell,F(xiàn)rege)或Python(Scotch)等更主流的語(yǔ)言相結(jié)合。 如果你的數(shù)據(jù)結(jié)構(gòu)很復(fù)雜,不妨試試Haskell。 Julia:把速度帶到Python 編程的世界充滿(mǎn)了Python愛(ài)好者,他們享受簡(jiǎn)單的語(yǔ)法,避免思考細(xì)節(jié),如指針和字節(jié)等。然而,因?yàn)槠渌袃?yōu)勢(shì),Python通常會(huì)變得很慢,如果正在處理科學(xué)計(jì)算領(lǐng)域中常見(jiàn)的大型數(shù)據(jù)集,那么這可能是一個(gè)問(wèn)題。為了加快事件發(fā)展,許多科學(xué)家轉(zhuǎn)而在C中編寫(xiě)最重要的例程,其速度要快得多。但是,用兩種語(yǔ)言編寫(xiě)的軟件是更難修復(fù)和擴(kuò)展的。 Julia解決了這個(gè)復(fù)雜性。它的創(chuàng)建者采用了Python的干凈語(yǔ)法,并對(duì)其進(jìn)行了調(diào)整,從而可以在后臺(tái)編譯代碼。它提供了強(qiáng)大的類(lèi)型推理引擎,可以幫助確保代碼運(yùn)行速度更快。如果喜歡元編程,這個(gè)語(yǔ)言足夠靈活可擴(kuò)展。 最有價(jià)值的可能是Julia在集群中分布并行算法的簡(jiǎn)單機(jī)制,許多庫(kù)已經(jīng)解決了最常用的數(shù)據(jù)分析算法。其次是速度,許多基準(zhǔn)測(cè)試證明,其比Python運(yùn)行速度快30倍,并且通常比C也快一些。 如果你有大量的數(shù)據(jù),但希望享受Python的簡(jiǎn)潔語(yǔ)法,可以考慮Julia。 怎么樣?廣大程序員認(rèn)為這些編程語(yǔ)言如何呢?你有什么想說(shuō)的嗎?可以在評(píng)論區(qū)留言給我們! |
|