我真out, 查swift时看到还有这个玩意. 哪位兄弟用过的给补补脑啊!
Scala http://www.scala-lang.org/
Programming Language
Scala is an object-functional programming and scripting language for general software applications. Scala has full support for functional programming and a very strong static type system. Wikipedia
[Del]听闻是反 OO 的. only function and procedure [/Del] http://developer.51cto.com/art/200906/127830.htm 51cto的专题入口.
还有twitter做背书, “Scala是Twitter使用的主要应用编程语言之一。很多我们的基础架构都是用Scala写的,我们也有一些大的库支持我们使用。”
想学的话推荐 Scala 作者 Martin Odersky 的课:Functional Programming Principles in Scala | Coursera.org
7楼 @tinyfool “它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格 是出自 http://developer.51cto.com/art/200906/127830.htm 这里的引用.
Wikipedia那里的翻译应该是说: Scala 用于通用软件系统的的 面向函数式的开发和脚本语言. Scala是全面支持 函数式编程和很强的静态类型系统.
http://zh.wikipedia.org/wiki/Scala 中文维基里提到.
Scala是一种纯面向对象的语言,每一个值都是对象。对象的数据类型以及行为由类和特质描述。类抽象机制的扩展有两种途径。一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。
知乎上的 函数式编程(Functional Programming)相比面向对象编程(Object-oriented Programming) 有哪些优缺点. http://www.zhihu.com/question/19732025
Scala 是一门怎样的语言,具有哪些优势? http://www.zhihu.com/question/19748408 "是面向对象与函数式编程的混合语言"
现在的结论是: Scala 是混合物.不是纯函数式编程语言. 也就是说还是有 O O 的.
我是感觉就像 Swift 和 Object-c 这种关系. 但现在看又不太一样. 没什么可比性.
我玩的不多,自己工作中有空也写几句,作为script也挺方便。
感觉 1. 类型系统过于复杂至今没完全搞清楚;2.OO和FP结合,如果不注意规范好代码,很容易混乱;3. FP的学习曲线相当陡
当初要夺java遗产的富二代还有groovy,那个是纯动态的,gradle就是拿那个实现的。但据说groovy的发明者看到Scala后火速叛变了,只留下一堆像我这样的死心不改的还在一直用着。说实话,groovy比Scala发展的要好,据说谷歌已经决定拿groovy支持开发android了。