Scala 是一門怎樣的語言,具有哪些優缺點?

時間 2021-05-06 20:37:17

1樓:華天清

最近一年多用Scala寫了一些程式,全部是基礎演算法方面的。

假設要做乙個任務,讓我隨便選擇語言,我估計不會選擇Scala。這個語言太強大了,要掌握的東西太多了。

如果作為起步研究程式語言的物件,Scala很適合。各種程式語言特性都可以在Scala身上觀察和實踐。

2樓:「已登出」

講乙個我很討厭的缺點,這樣的 lazy 讓很多事情幹起來很不方便

然後就是 pattern match 不能直接對 arguments pattern match

另外就是到處要寫型別,不像某支援 HM 的語言可以自動推導

3樓:

優點: scala現在需要消滅一半使用者來得以持續發展下去

缺點: scala現在需要消滅一半使用者來得以持續發展下去. (逃

4樓:

子雨大資料之Spark入門教程(Scala版)_廈大資料庫實驗室部落格ppthttp://

dblab.xmu.edu.

cn/wp-content/uploads/2017/01/Chapter2-%E5%8E%A6%E9%97%A8%E5%A4%A7%E5%AD%A6-%E6%9E%97%E5%AD%90%E9%9B%A8-%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E6%8A%80%E6%9C%AFSpark-%E7%AC%AC2%E7%AB%A0-Scala%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80%EF%BC%882017%E5%B9%B4%E6%98%A5%E5%AD%A3%E5%AD%A6%E6%9C%9F%EF%BC%89.pdf

簡直良心!

5樓:Jason5Lee

優點:啥都能幹。能OO、能Pattern Matching、能用Higher Order Function、能寫Monad組合子、允許可變、同時提供尾遞迴優化、有OO風格的多型、能模擬Haskell的Type Class、能Structural Typing。

缺點:優點裡提到的你要是有乙個不會別人就說你不懂Scala。

6樓:

以下依次C++,Python,Scala

圖一:C++

圖二:Python

圖三:Scala

C++: 可手動操作的地方多。

Python:上手快,簡單

Scala:In short, elegant.

Verbose answer:語法簡潔,既可以REPL,也可以Build and Run。Type Safe的同時又可以Inference。

支援Functional,OO。語法糖很酷。

7樓:標準碼農

stackoverflow上有關於Scala vs. Groovy vs. Clojure 三門語言的區別,這裡有對應的中譯版:

Scala,Groovy,Clojure三門語言的區別。

另外,如果是新手希望快速入門Scala,建議從閱讀官方文件入手:Introduction - Scala Documentation,這裡有對應的中文翻譯版本:Scala之旅-簡介

8樓:

Scala的型別系統讓我很煩,譬如

:13: error:

method with dependent type (t: T)t.A cannot be converted to function value

昨天我看到這個報錯,內心是崩潰的

而且函式不能攜帶泛型引數,這個限制也有點大。

最讓我煩不過的就是隱式引數了,個人認為隱式引數設計的不夠優雅,因為會修改方法的簽名,如果能以其他手段來代替就好了。

9樓:Scott Huang

優點:Functional + OO, strict typed; higher kind; excellent success records: akka, play2, slick3, scala.

js, spark...; Will be easy express your idea once you master the key concepts, such as implicity and so on; Base on JVM, and able leverage its resources; Able write JS with scala too, and the running speed is ~1x same as raw JS;Tasty(future platform layer between scalac & classes files, under developing);

缺點:Cannot develop OS or the bare metal related systems.

10樓:夏梓耀

Scala正如其名,一門可擴充套件的語言,它就是乙個含有精美工具的工具箱,裡面有靜態型別, OOP, FP, 巨集等工具。

我想這是馬丁設計的初衷,也是他寫的書上所說的,Scala不是在單純的混合物件導向和函式式,它是一門可被無限擴充套件的語言,每次新增新特性都是在豐富工具箱,所以有人說Scala太複雜了,也有人說Scala滿足了我對程式語言的所有幻想

11樓:henix

融合了函式式和物件導向程式設計,實用。

想學的話推薦 Scala 作者 Martin Odersky 的課:Functional Programming Principles in Scala | Coursera.org

12樓:皮蛋XXXXL

支援高階函式。lambda,閉包,currying,block都是個玩

支援偏函式。 match, 佔位都是個玩

支援trait。 mixin,依賴注入都是個玩支援Future。Promise, 寫多執行緒,併發都是個玩....待補充

把一門語言當做母語來學,和把一門語言當做外語來學,有什麼不同?

西日韓留學呂老師 肯定不一樣,這就是說為什麼海外語言學校語言環境有的話,你學起來會容易很多,就是因為你再把語言在這種語言環境下,是當成母語來時刻的來應用和訓練的,並沒有什麼其他語言來進行干擾。但是你在國內,如果按照二外的方式,你還有其他的語言來進行幫助,並且生活當中你也不會使用。所以說就是你用母語來...

學一門非洲小部落語言是怎樣一種感受?

Emmanuel SN 在盧安達工作期間簡單的學習了一下盧安達語。並不屬於非洲小語種,環基伍地區都在使用。語法和字母發音規則和法語類似,很多法語外來詞。發音時突出下嘴唇更接近當地人發音。比較大的感受是以此類小語種為母語的人需要掌握多種外來語言才能準確表達意思。因為很多名詞原有語言中並不存在。因此外語...

英語是不是一門落後的語言?

之也奈 拉丁字母我感覺就是個應該改革的符號系統,連外中國人都吐槽0o,1Il,的混淆,更不用說輸那個證明不是機械人的東西時,那會兒Zz,Ss,Uu真的完全看不出來喵的,我每次輸的時候都一度在想乾脆用日本平假名來代替26字母吧 英語在我看來是個跟日語差不多的語言。自己的詞語都從別家來的。日文的外來語和...