1樓:FRANK
這是不可能的,Go有的Scala都有,而Scala有的Go不一定有。比如Scala的型別系統非常強大,Scala支援泛型,而Go的泛型還要等明年。到了明年,Scala 3就發布了,你可以寫出這種東西:
Go設計的目的是設計乙個簡單,高效的服務端語言。Go相比Scala唯一的優勢就是Go更簡單,好學而且編譯好快(畢竟特性少)。而對方已經是Scala愛好者了,說明對方已經學會Scala了,這點優勢就不存在了。
其實Rust更適合Scala愛好者。
2樓:Johny Sinn
抱歉,Go幾乎不存在什麼明顯的優點或者特點是Scala沒有的, 相反,Scala有一些優點或者特性是Go沒有的。
建議你轉Scala。
Scala 是一門怎樣的語言,具有哪些優缺點?
3樓:
1.Scala有sbt這麼好用的工具。
2.Scala的王牌是akka(Netty為解決akka的問題)
3.Scala的後端(IR)不行。在JVM上構建是個敗筆。Scala不能自舉。
4.很想上手Scala,但是語法太晦澀。然後沒有成熟的的專案試手。(Spark太重,Scala.js太非主流,Play2.x太凌亂)
5.太過學院派,創始人都好像不管它了。太學院派不好,持有者也沒有做好特性的取捨;國內的生態不好,沒有成熟社群支援。
6.雖然有基於LLVM的實現,但是基本上屬於toy。
7.大家都不傻。FP不過是炒冷飯。別人在用Erlang開始FP的時候,Scala毛都沒長齊……Erlang的OTP來對標Scala的Akka?
8.Scala沒有乙個強大的爹。Golang雖然不是Google的長子,但是說出去也是個「二代」,哪有野雞配鳳凰的?
9.給錢,給錢,給錢。重要的事說三遍。錢給得足,給你用Scala做一套分布式資料庫出來都行!
10.Scala砍掉不必要的一些特性更貼近工程;從JVM上遷移到LLVM實現;換爹(最好找乙個中國爹);爹給它重新包裝(搞幾個成熟專案)並組建社群(Scala.js和WebAssembly這兩個方向最好,因為前端世界是最瘋狂的);SBT這樣的工具有別的方案……如果這些都實現了的話……
4樓:
paypal使用八台虛擬機器實現每日10億筆交易。
5樓:Mark
首先就本題來說,我覺得絕無可能。
三年後實名反對 @王益 ,事實證明 Golang 也沒像想象一樣發展迅速。
答案中dockerization這點我是不太同意的:Scala 本來就是 JVM 上的,有了一層 vm,幹嘛非要跟 Golang 生態圈的 docker 整合?至於說的額外開銷是必然的,docker 本來就沒有針對 JVM 做優化;但是JVM開銷怎麼說也真虛擬機器要小多了吧?
併發語法問題,現在已經沒有問題,akka不比goroutine差。效率上 Golang 並不佔優勢。
另外別拿 google 熱度說事,君不見一群把 `Go` 熱度算到 `Golang` 上的統計,簡直智商下限。
附一張個人認為正確的資料
另外就是信仰問題了,讓 Scala 愛好者轉 Golang,有點像讓寫 Haskell 程式猿/博士生去寫 PHP
6樓:圓胖腫
作為乙個vert.x愛好者,我建議你認真看看vert.x,以及各個語言之間的協作,目前沒有看到其他平台能夠實現類似的協作,用了vert.
x之後,你的scala吊打go沒啥問題,無論是效率還是部署便捷以及開發上,都很輕鬆,如果對方說coroutine,好啊,kotlin就能用,在vert.x上從scala換kotlin容易太多太多
TechEmpower Framework Benchmarks
go的效率基本上屬於中偏下,比python還慢,jvm上的web frameworks基本上在前幾都能看到
7樓:法自然
做什麼工作,用什麼語言。
在國外超市買東西用英文。 在國內超市買東西應該用中文了,去了非洲就要用鼓語了。;-D
不是哪個語言好, 而是什麼場合用什麼語言。
去說服對方用什麼語言, 還不如看看工作需要用什麼語言。
8樓:
唉,現在看看吐槽Go語言的人的那些水平,真是應了那句話「是個阿貓阿狗都敢來對Go指手畫腳」。
咱吐槽Go之前,能不能稍微的去了解一下常識,不要弄出那麼多錯誤先。
9樓:flyleft
scala語法就可以完爆go了,模式匹配,高階函式,柯里化,操作符過載,隱式轉換,強大的泛型等等,就連go最引以為傲的併發相比AKKA也沒有太大優勢,scala寄於JVM,而go用交叉編譯實現跨平台,不必受限於JVM還有簡單爹叼。go國內熱度是高於國外,scala相反。喜歡scala的我覺得更容易接受rust
10樓:
沒Generic、沒模板這些缺點我都知道,但是Golang寫乙個下午我能自信地說我了解這個語言的所有細節。你寫Scala寫個幾年也就寫個語言的子集而已。
11樓:jolestar
其實這個問題有點無聊,我對語言的態度是只要有實用的地方就要了解下。比如因為要了解kafka,所以了解scala,因為要用docker,所以了解go。
回答這個問題純粹是反對 @王益 的高票答案的第一條理由:JVM程式dockerization的成本太高了
jvm並不會導致dockerization成本變高,這個docker設計映象的時候就考慮到了。docker的映象是分層的,base image安裝jvm後,繼承自base image的映象不會因為jvm占用額外空間。當映象執行後變成container,同乙個image的多個container是共享檔案系統的,只有container本身產生的檔案才會占用額外的空間。
12樓:yanyiwu
"聽說golang借鑑了scala,但是還是不如scala,大神你會寫go嗎,你怎麼看?" "那必須不如scala,等我學學看看..對比對比",翻了幾頁書,"嗯?
好像很不錯的樣子"。
13樓:June Once
比較哪個好是沒有意義的,這只會引來一場戰爭,結果是不歡而散。你要用事實,哪怕是扭曲的:
1,Go的崗位工資多,是Scala的10倍,而Go的難度只有52,Go的崗位上休假多,是Scala的10倍,而Go的難度只有53,Go的從業者壽命長,是Scala的10倍,而Go的難度只有5最後4,Go的崗位上美女多,是Scala的10倍,而Go的難度只有5程式設計師都傾向於為自己使用的語言辯護,除了當另乙個語言能以更小開銷帶來更多收益的時候
乙個騎行愛好者一年能騎多少公里?騎行愛好者騎行過程中最在意的是什麼?
再拖延就去吃屎君 截止12.17日,今年騎了9500多,爭取元旦破萬。感覺自己也就業餘騎行小白,美利達公爵車子,跟好多答主過萬的軟尾 碳架根本不是乙個級別,不過絲毫不影響我愛它 最重要的還是你要享受騎行的過程,市區周邊多找找風景好的地方,爭取有5個左右比較好的固定騎行線路。騎行過程最在意安全啊,耳機...
如何激怒乙個東吳愛好者?
公子XS 每次玩三國殺國戰我抽到吳國都不敢爆身份,只敢藏著 以及8號位選周瑜的都是視死如歸的真漢子 周脆脆,方片周,用起來還不如大小喬 ps 有一次玩周瑜,一上來就被大喬砍,內心OS 妹子我跟你有仇嗎?吳國男性的技能就是拆牌,給牌,換牌,總之就是倒騰牌,各種白板,尤其54320那位 最後評選出,吳國...
如何激怒乙個籃球愛好者?
消逝夜的輝煌 我覺得有很多了,一句話就可以激怒對方,比如說 你穿的是假鞋 你打得真菜等等 不過根據我個人的經歷,這些都還不足以激怒我,可是有一次有個人卻因為一句話把我給激怒了。我們平時打的是小區籃球,大家的動作還有氛圍都很和諧,就是普通的犯規都還要嬉笑著開玩笑那種,可是有一天小區來了乙個學生,大概讀...