谈谈为什么上scala?
我之前有学习过很多主流的语言 ,比如c c++ java python,我的 团队用scala,最近在认真自学ruby。
Scala的优点:并发支持优秀的、未来的模型、闭包、函数,这是我最喜欢Scala的原因之一,使得异步编程变得非常自然。
2种语法力求平衡易读性和简洁性。Lisp语言的语言可以写得很短,但可读性很差,很难吸引初学者的学习欲望。斯卡拉的大部分代码自然可读,而且成本不高。同时,Scala的语法是最简单的,和代码量远远小于java。
3融合function和OO,像Ruby这样的许多语言,允许Scala以最自然的方式解决问题。我讨厌java的原因是,它不支持function,所以很多模式在做之前无法体现,所以是一个很尴尬的问题。支持该函数的语言可以在更细粒度的单元中重用代码。
4种类型派生静态编译,这就是为什么斯卡拉不同于大多数脚步的原因。解释语言不适合大型项目,因为在编写代码时不容易发现问题。最直接的缺点之一是错误很难找到,因为所有的东西都被延迟到运行,所以它会运行之后才发生。
除非问题是绝对必要的,否则不要使用高级功能。写节目不是作文,不需要表演技巧。含蓄是适合别人写,并使其陷入困境。太复杂的物体设计,我认为它不是很有意义。
下面我来谈谈我的看法。
首先
Scala现在是太阳系中唯一比c++更复杂的语言。但是和c++不同的是,他学了c++,你只是对代数有一点了解,你不知道类型系统的理论,你不知道。在可操作性方面,scala和c++一样通用,只要您完全了解它们,任何东西都可以封装。那为什么不学习scala呢?
其次
使用Java库,开发比Java更简单、更快。速度比python。比lisp更好的对象支持。简单地解决一些更繁琐的函数,比如字符串解析和XML。除非绝对必要,否则不要使用高级功能。写程序不是写作文,不需要炫的技巧。含蓄是为别人写书的好方法,也是让自己陷入麻烦的好方法。我不认为这很有意义。让它成为一个好的Java+Lisp。
最后
Scala的原因是基于两个因素的考虑:生态环境的发展和工具的便利性。公司原是一个Java部门,生态环境好,所以基本平台已经确定。至于工具,由于Java语言的不令人满意的表达,特别是标准库对集合操作的支持,您需要考虑JVM上的其他语言。Scala是OOP和FP的混合,这有助于团队转换。强表达能力(如类型推理、FP等)有助于提高开发效率;内置良好的集合操作库;这就是我的选择。
Scala的优点是编译器保证可以尽早发现一些错误,而不是像Clojure那样从头到尾地反复使用。
小结
希望我的回答能够帮到你。