>joey 周琦
现在很多数据处理用的是python或R, 那么现在我们对比下scala和python在大数据处理方面的优劣:
- scala与python对比
- scala 相对于c语言慢2-3倍,但是python一般比c语言慢50倍。(只是大概,实际会情况不同)
- scala 缺少python那样丰富的数据处理,机器学习的包(Numpy, scipy, matplotlib,panda, scikit-learn)。当然scala也有自己的包(MLibBreeze, ScalaLab and BIDMach),只不过现对于python不够成熟,丰富
- python不是为大数据设计的,scala可以说是大数据导向的, 例MLlib相对于scikit-learn的算法数目较少,但是它是天生适合大数据并行计算的。
- scala,python都是面向对象语言。scala也支持函数式(functional programming)编程,而pyton不支持,python的编程风格也因人而异
- 更多细节对比http://vschart.com/compare/scala/vs/python-programming-language
下面单独谈谈scala的一些优势:
- scala的优势
- 基于JVM与JAVA的生态系统, 可方便利用现有的基于JVM的成熟应用如:HADOOP,Flink,Kafka. 另外Spark也是基于scala写的
- 强大的并发性(Concurrency)
- 支