華文網

程式師不糾結:九大非主流頂尖程式設計語言!

流行的程式設計語言隨著時代發生了不小的變化,以下這九大被譽為最有潛力的程式設計語言可能足以成為你下一個項目的完美選擇。這些程式設計語言受歡迎的原因如下:它們提供了開原始程式碼、豐富的庫和框架。

這是多年來程式師選擇其的主要動力,而且對專業知識的豐富越來越有價值。

有時,主流的程式設計語言,比如java、javascript,可能不足以解決特殊問題。有時,程式師必須超越主流語言尋找正確的語言和架構,以幫助代碼更快的運行,無需無限的調整和優化。

以下九大程式設計語言被列入了眾多程式師的技術雷達中,它們可能不是每一項工作的最佳選擇,但它們值得被調查和投資。

Kotkin:Java程式師可以考慮

Java是一種偉大的語言,支援一些受歡迎的平臺,但它有點老了。Kotlin旨在快速編譯,與Java共存,並修復了一些Java開發的痛點。

最大的改進可能是對空值的關注,所有物件導向程式師的痛苦。Kotlin為解決這個問題邁出了一大步,

它可自動檢查代碼中可能出現的糟糕錯誤。如果需要,它也將編譯為JavaScript或本地代碼。Google認識到這個語言的價值,現在Android程式師使用Kotlin將得到很好的支持。

Erlang:即時系統的函數式程式設計

當愛立信的程式師開始吹噓其“9個9”表演時,Erlang可達到99.9999999%的資料可靠性,愛立信以外的開發者開始注意到該語言。

Erlang的秘密功能是範式。大多數代碼被迫在自己的小世界中操作,

不能通過副作用破壞系統的其餘部分。這些功能在內部完成所有的工作,只能運行在像沙箱一樣的“進程”中,只能通過郵件消息相互通信。無法通過一個指標,快速更改堆疊中任何地方的狀態。

該模型使運行時代碼更簡單,運行時調度程式可利用非常低的開銷來設置和分解進程。Erlang程式師也喜歡在Web伺服器上同時運行2000萬個“進程”。

如果你正在建立一個即時系統,請查看Erlang。

Go: 簡單動態

2009年,穀歌發佈了該靜態類型語言,看起來像C,但程式師不必指定類型和調整malloc調用。使用Go語言,程式師可以具有編譯C的簡潔性和結構,以及易於使用動態指令碼語言。

雖然Sun和Apple分別在創建Java和Swift方面採用了類似的路徑,但Google的Go做出了一個截然不同的決定:只有乾淨,簡單的if-then-else代碼塊操縱字串、陣列和雜湊表。

如果是一家初創企業,希望抓住Google的目光,並且需要構建一些伺服器端的業務邏輯,

那麼Go是一個很好的開始。

OCaml:複雜的資料階層結構juggler

對於想要精細變數類型,甚至創造類型反覆運算的程式師而言,Ocaml是最好的選擇,其有物件支援、自動記憶體管理和設備可攜性,甚至還有蘋果App Store提供的OCaml應用程式。

TypeScript:你想要的JavaScript

每個程式師都有喜歡的前置處理器或超級處理器來擴展和改進語言,TypeScript是Javascript的超集合,它為所有變數添加了類型,這使Java程式師感覺更加安全,也可以早期捕捉一些bug,提高代碼品質。

現在,很多程式師對TypeScript感興趣的最大原因是Angular,這是編寫Web應用程式一個很好的框架。有趣的是,程式師不需要使用TypeScript來使用Angular。你可以享受其代碼品質,並將其與舊版JavaScript進行合併,因為TypeScript是JavaScript的超集合。

Rust: 安全可用的系統語言

Rust像C的翻新版本,連續兩年,贏得了Stack Overflow“最受歡迎的程式設計語言”,這也體現在Stack Overflow流行指數榜單中,就在幾年前,Rust在名單上徘徊在50左右,今年它躍升到了18。

為什麼?也許因為Rust清理了很多C語言的棘手問題,也許因為Rust讓程式師覺得真正掌握了記憶體變化,而不是等待一些服務。實現時,編譯器會自訂每種類型的結構,這些開發人員喜歡稱之為“單態”。該語言增加了一些其他限制,以防止開發人員脫離軌道。例如,每個值都是“owned”,這意味著它只能被消耗一次,從而防止程式其他部分引用。

所有這些功能加上一些更像無競爭條件的執行緒 - 意味著程式師可以開始編寫系統代碼,而不會遇到長期困擾C程式師的最糟糕的反模式,可以使用編譯器來獲取編寫C的所有硬核,享受高性能的好處。

Scala:JVM上的函數式程式設計

如果需要簡單的代碼、物件導向層次結構的專案,但喜歡功能範例,Scala可以成為一個選擇。

Scala運行在JVM上,通過提供符合Java類規範的代碼和與其他JAR檔的連結,將函數式程式設計所有乾淨的設計限制帶到Java世界。類型機制是強靜態的,編譯器完成所有推斷類型工作。原始類型和物件類型之間沒有區別,語法比Java簡單得多,可以將段落長的CamelCase變數名返回Java Land。

如果必須在數千個處理器集群中進行資料整理,並擁有一大堆舊的Java代碼,則Scala是一個很好的解決方案。

Haskell:函數式程式設計,純而簡單

二十多年來,從事函數式程式設計的學者一直在積極開發Haskell,導致它是函數式程式設計理想更純粹的表達之一,具有處理I / O通道和其他不可避免的副作用的謹慎機制。

社區非常活躍,有十幾個Haskell變種等待探索。有些是獨立的,有些與Java(Jaskell,Frege)或Python(Scotch)等更主流的語言相結合。

如果你的資料結構很複雜,不妨試試Haskell。

Julia:把速度帶到Python

程式設計的世界充滿了Python愛好者,他們享受簡單的語法,避免思考細節,如指標和位元組等。然而,因為其所有優勢,Python通常會變得很慢,如果正在處理科學計算領域中常見的大型資料集,那麼這可能是一個問題。為了加快事件發展,許多科學家轉而在C中編寫最重要的常式,其速度要快得多。但是,用兩種語言編寫的軟體是更難修復和擴展的。

Julia解決了這個複雜性。它的創建者採用了Python的乾淨語法,並對其進行了調整,從而可以在後臺編譯代碼。它提供了強大的類型推理引擎,可以説明確保代碼運行速度更快。如果喜歡元程式設計,這個語言足夠靈活可擴展。

最有價值的可能是Julia在集群中分佈平行算法的簡單機制,許多庫已經解決了最常用的資料分析演算法。其次是速度,許多基準測試證明,其比Python運行速度快30倍,並且通常比C也快一些。

如果你有大量的資料,但希望享受Python的簡潔語法,可以考慮Julia。

怎麼樣?廣大程式師認為這些程式設計語言如何呢?你有什麼想說的嗎?可以在評論區留言給我們!

TypeScript是Javascript的超集合,它為所有變數添加了類型,這使Java程式師感覺更加安全,也可以早期捕捉一些bug,提高代碼品質。

現在,很多程式師對TypeScript感興趣的最大原因是Angular,這是編寫Web應用程式一個很好的框架。有趣的是,程式師不需要使用TypeScript來使用Angular。你可以享受其代碼品質,並將其與舊版JavaScript進行合併,因為TypeScript是JavaScript的超集合。

Rust: 安全可用的系統語言

Rust像C的翻新版本,連續兩年,贏得了Stack Overflow“最受歡迎的程式設計語言”,這也體現在Stack Overflow流行指數榜單中,就在幾年前,Rust在名單上徘徊在50左右,今年它躍升到了18。

為什麼?也許因為Rust清理了很多C語言的棘手問題,也許因為Rust讓程式師覺得真正掌握了記憶體變化,而不是等待一些服務。實現時,編譯器會自訂每種類型的結構,這些開發人員喜歡稱之為“單態”。該語言增加了一些其他限制,以防止開發人員脫離軌道。例如,每個值都是“owned”,這意味著它只能被消耗一次,從而防止程式其他部分引用。

所有這些功能加上一些更像無競爭條件的執行緒 - 意味著程式師可以開始編寫系統代碼,而不會遇到長期困擾C程式師的最糟糕的反模式,可以使用編譯器來獲取編寫C的所有硬核,享受高性能的好處。

Scala:JVM上的函數式程式設計

如果需要簡單的代碼、物件導向層次結構的專案,但喜歡功能範例,Scala可以成為一個選擇。

Scala運行在JVM上,通過提供符合Java類規範的代碼和與其他JAR檔的連結,將函數式程式設計所有乾淨的設計限制帶到Java世界。類型機制是強靜態的,編譯器完成所有推斷類型工作。原始類型和物件類型之間沒有區別,語法比Java簡單得多,可以將段落長的CamelCase變數名返回Java Land。

如果必須在數千個處理器集群中進行資料整理,並擁有一大堆舊的Java代碼,則Scala是一個很好的解決方案。

Haskell:函數式程式設計,純而簡單

二十多年來,從事函數式程式設計的學者一直在積極開發Haskell,導致它是函數式程式設計理想更純粹的表達之一,具有處理I / O通道和其他不可避免的副作用的謹慎機制。

社區非常活躍,有十幾個Haskell變種等待探索。有些是獨立的,有些與Java(Jaskell,Frege)或Python(Scotch)等更主流的語言相結合。

如果你的資料結構很複雜,不妨試試Haskell。

Julia:把速度帶到Python

程式設計的世界充滿了Python愛好者,他們享受簡單的語法,避免思考細節,如指標和位元組等。然而,因為其所有優勢,Python通常會變得很慢,如果正在處理科學計算領域中常見的大型資料集,那麼這可能是一個問題。為了加快事件發展,許多科學家轉而在C中編寫最重要的常式,其速度要快得多。但是,用兩種語言編寫的軟體是更難修復和擴展的。

Julia解決了這個複雜性。它的創建者採用了Python的乾淨語法,並對其進行了調整,從而可以在後臺編譯代碼。它提供了強大的類型推理引擎,可以説明確保代碼運行速度更快。如果喜歡元程式設計,這個語言足夠靈活可擴展。

最有價值的可能是Julia在集群中分佈平行算法的簡單機制,許多庫已經解決了最常用的資料分析演算法。其次是速度,許多基準測試證明,其比Python運行速度快30倍,並且通常比C也快一些。

如果你有大量的資料,但希望享受Python的簡潔語法,可以考慮Julia。

怎麼樣?廣大程式師認為這些程式設計語言如何呢?你有什麼想說的嗎?可以在評論區留言給我們!