Scala 究竟好在那裡?

看到很多公司都在往scala遷移。 很火的spark也是scala寫的。

scala究竟好在那裡? 那麼多公司用scala,他們的目的是什麼?


學了Scala讓你覺的原來有比C++語法還複雜的語言 有比Python寫起來還精鍊的語言


不好,一點都不好,太難找工作了


我覺得對於公司來說的好處就是,它比Java精簡太多了。語法簡練代表著易於維護。這能節省很多成本。並且從Java遷移到Scala基本上沒啥成本(Java的東西可以直接用),當然了反過來就不行了。不過學習成本確實比較大。

至於Spark,我現在越來越覺得平行數據處理這類工作就應該用函數式語言來搞,比命令式語言簡單太多了。


Matei Zaharia, CTO @ Databricks from Quora

When we started Spark, we wanted it to have a concise API for users, which Scala did well. At the same time, we wanted it to be fast (to work on large datasets), so many scripting languages didnt fit the bill. Scala can be quite fast because its statically typed and it compiles in a known way to the JVM. Finally, running on the JVM also let us call into other Java-based big data systems, such as Cassandra, HDFS and HBase.


我覺得它的唯一缺點是難學,所以不適合大的開發團隊使用,招不到這麼多人,保證不了質量。在小的團隊裡面還是比較合適的。速度上比C++略慢,但比Python快多了。有比較好的concurrency支持。語法比Java/C++簡潔很多。函數式的支持。還有一個小缺點是庫不如python多。我不覺得它會像Java/Python那麼流行,我覺得它會像C++一樣,用在最適合使用的地方。目前來看,大數據處理就是一個例子。


謝邀。

Scala初學者,剛讀完《快學Scala》、《深入理解Scala》的水平。

從沒想過「Scala 究竟好在那裡?」,也不打算思考這樣的問題。

任何一門新出的語言都會宣稱具有如下療效:

1. Your code will be better

2. You』ll be a better engineer

3. You』ll be a happier engineer

具體如何,仁者見仁,智者見智。

本人學習新知識習慣遵循 「有需要就學,有空閑就學」的原則,學Scala只是因為需要用Kafka和Spark。


推薦閱讀:

如何學好Scala?請給出一條科學的時間線
矽谷之路38:深入淺出Spark(三)什麼是Standalone
數據科學家必知必會的7款Python工具,你會幾個?
大數據分析美國大選——Twitter數據情感分析

TAG:編程語言 | Scala | Spark |