之所以選這三種語言,是因為這三種比較相似:
- 都是編譯型的靜態(tài)語言
- 都能跨平臺運行
- 運行效率都可以,起碼好過腳本語言很多,可能會超越已經(jīng)優(yōu)化了十幾年的jvm
- 有動態(tài)語言的開發(fā)效率,比C/C++學習難度低很多
- 都有高人在主導(dǎo)開發(fā),相信會做的不錯
- 都有可能成為下一代系統(tǒng)級別的編程語言,甚至用來開發(fā)操作系統(tǒng)
- 可用來寫后端的大量運算服務(wù),壓榨服務(wù)器性能,在服務(wù)器端有很多方面可以替換C/C++
- Go:Google公司主導(dǎo)開發(fā),內(nèi)置GC,但最近讀了很多文章在指出GC的弱點,懷疑有GC的語言運行效率會打折扣,始終沒辦法成為系統(tǒng)級的編程語言。
- Rust:Mozilla公司主導(dǎo)開發(fā),可以選擇是否啟用GC,運行效率不會輸給C/C++,而開發(fā)效率又不錯,國內(nèi)用的好像很少。
- Zimbu:Vim作者開發(fā),是不是目前只有一個人?比起其他兩個,好像勢單力薄些。
還有一些跨平臺在運行效率和開發(fā)效率都不錯的語言,HaXe、Julia、Opa、Falcon、JVM上的N種語言等,這些跟這幾種差別比較大些。
現(xiàn)在的服務(wù)器端處理要求越來越復(fù)雜,單純的腳本語言已經(jīng)很難適應(yīng)業(yè)務(wù)的需求,要既能照顧開發(fā)效率,包括新人的學習接受能力,又要比較快的運行效率。相信各位在開發(fā)中也碰到這樣的需求吧?
我們最近要把很多原本是PHP寫的后端服務(wù)全部轉(zhuǎn)換成一種新的編譯型語言,為了提升性能和利用并發(fā)處理,在不是非常仔細研究Go和Rust之后,選擇了Go,因為Rust好像還不是很成熟,尤其是教程缺乏,Zimbu就更缺少人關(guān)注了,但我們還是很希望有一種編譯型的語言能成為我們后端開發(fā)的主力語言,因為要涉及大量復(fù)雜的運算,在效率方面比較看重,還考慮到開發(fā)效率是,所以不可能選擇C、C++的,至于JVM上的語言,也不會考慮。
希望各位高人能指點一二,非常感謝。



