現代語言Go、Rust、Swift和Dart的比較

banq發表於2016-12-01
本文是作者在使用Go、Rust、Swift和Dart四種語言編寫email語法的檢查功能以後的總結:

Go
Go作為一種簡單的語言,非常適合構建網路應用程式,這是正確的,如果你不需要其他功能,如泛型。

優點
1.AOT編譯器
2.快速編譯
3.併發支援
4.豐富的標準庫
5.工具gofmt格式化程式碼
6.編譯後的可執行檔案可快速執行和低記憶體消耗

缺點
1.沒有泛型
2.沒有依賴管理的官方包管理器

快速幫助(在快速幫助中是用0到3的評分來表示是否足夠快得到幫助。)
IRC:2
Gitter:0
Slack(gophers):3

用法
它是網路的理想語言,因為標準庫包含所有這些任務所需要的,至少在Rust或Swift擁有良好的網路支援之前是這樣。

GUI
有一個名為一個實驗專案Shiny,我不知道它是否適合移動或桌面應用程式。

Rust
Rust絕對是一種偉大的語言。

優點
1.AOT編譯器
2.沒有垃圾收集器
3.記憶體安全預設
4.編譯的可執行檔案效能類似於C ++
5.具有依賴關係管理的包管理器
6.Packages host
7.更好的社群

缺點
1.Learning of lifetimes and borrowing
2.錯誤建語法建立是冗長

快速幫助
IRC:3
Gitter:2
Slack:0

用法
底層級別軟體,如核心模組和嵌入式軟體,以及庫包。

GUI

Conrod :一個易於使用的,2D GUI庫。


Dart
JavaScript的替代品,除非Swift可以轉換為JS。

作為一種現代語言,它看起來像一種舊語言,因為它使用類似於Java的語法;他們的設計師過於保守。 雖然語法可能在與Dart 2.0變得現代化

Dart的大問題是,一旦有其他語言(具有更好的語法),可以用於在移動平臺開發,然後Dart將不再有用了。 此外,使用WebASM,開發人員可以使用Rust或Swift等語言編寫Web應用程式。

注意:我無法將包上傳到Pub包管理器,因為您需要一個Google帳戶,我沒有(因為我不會給我的手機號碼註冊一個)。

優點
1.比JavaScript好
2.非同步/等待支援
3.有用的方法級聯
4.大程式碼分析器(由Visual Studio Code,Webstorm,Atom,DartPad使用)
5.工具dartfmt格式化程式碼
6.具有依賴關係管理的包管理器
7.Packages host

缺點
1.在控制流語句中使用圓括號
2.行終止符的分號的使用
3.錯誤構建的語法太詳細

快速幫助
IRC:0
Gitter:1
Slack(dartlang):3

用法
等同於JavaScript框架 Angular 和 Polymer 。

GUI
flutter :另類打造的Android和iOS移動應用。

Swift
Swift有一個偉大的語法,但由於長名稱它可能冗長。

Swift的一個很大的問題是沒有一個Package host,以便能夠搜尋不同於macOS的系統的有效包。

注意:在測試中有一個問題,我無法解決。

優點
1.AOT編譯器
2.偉大的語法
3.用於構建和處理錯誤的更好的語法
4.IBM支援,特別是對於伺服器端開發

缺點
1.長關鍵字的使用,如Character或public
2.像長的函式名稱的使用characters
3.在索引中使用String型別是太詳細
4.核心庫中質量較差
5.在Visual Studio程式碼中更糟的支援

快速幫助
IRC:0
Gitter:0
Slack:0

用法
蘋果世界的應用程式
伺服器API準備就緒,可網路程式設計


結論
對於網路,要使用Go。
對於前端,使用Dart,並且可能是在iOS和Android中開發都不錯。
對於多平臺應用程式,要使用可以在多個系統和平臺中共享的語言(如Rust)。

Modern languages · Jonas Me

幾種語言的電子郵件格式檢查庫包下載:這裡

[該貼被banq於2016-12-01 15:43修改過]

[該貼被banq於2016-12-01 18:00修改過]

相關文章