如果對方是乙個 Scala 愛好者,有什麼辦法說服他使用 Go?

時間 2021-05-30 20:05:40

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那位 最後評選出,吳國...

如何激怒乙個籃球愛好者?

消逝夜的輝煌 我覺得有很多了,一句話就可以激怒對方,比如說 你穿的是假鞋 你打得真菜等等 不過根據我個人的經歷,這些都還不足以激怒我,可是有一次有個人卻因為一句話把我給激怒了。我們平時打的是小區籃球,大家的動作還有氛圍都很和諧,就是普通的犯規都還要嬉笑著開玩笑那種,可是有一天小區來了乙個學生,大概讀...