当前技术发展那么快,作为一个搞技术的,一年学习一门编程语言(当然啦,这里是学会,应用框架,并不是需要十分精通),多睁开眼睛看看,培养自身学习兴趣,人们对新鲜事物总是有浓厚的兴趣的,所以前段时间就开始接触scala这门新兴语种了。顺便读了读这本《快学Scala》,感觉不错,很明快的一本书。
大学时开始搞校园开发,java出身的,情感难割舍,总是选择都会和java沾边的,也曾经买了ruby/rails书籍,也是浏览完,没有深入学习,毕竟工作中难以应用到,抛不开java世界,就选择jvm上面能跑的,就看中了jruby和grovvy,打算学习grovvy的,也把gorvvy in action看的差不多了,感觉确实比java有不少进步。但看到了grovvy创始人James Strachan的博客《scala将取代java/javac?》……
从长久来看,谁能取代javac 呢?当然,像Ruby,Groovy,Python,还有JavaScript这些动态语言在过去几年里很受欢迎——很多人喜欢他们。
我认为将来可能替代javac的就是Scala 。它实在太让我印象深刻了。我甚至可以诚实地说,如果有人在2003年把Martin Odersky,Lex Spoon以及Bill Venners写的那本《Programming in Scala》拿给我看了的话,那我根本就不会再去发明Groovy了。
此篇文章对scala兴趣马上就上来了,业余时间就着手开始学习。目前scala在开发语言排行榜中还比较靠后,看起来现阶段确实不怎么流行。scala是面向对象的又是函数式的编程语言,对于我这种面向对象教条比较深的人,学一下函数式编程方式确实也开了眼界。
scala是兼容java的,能调用java现有的类库,也能编译成class在jvm上面跑(当然也有.net环境的变体啦)。
scala更简洁,相比如下代码:
在Java里:
class MyClass {
private int index;
private String name;
public MyClass(int index, String name) {
this.index = index;
this.name = name;
}
}
在 Scala 里,你会写成这样:
class MyClass(index: Int, name: String)
确实简洁了不少,但在我看来这个简洁并没有什么惊喜,为啥,因我我java就像初恋情人,情有独钟,scala最为后辈,有这样的简化是合情理的。
scala是比较高级的,看看下面的例子:
在Java里 :
boolean nameHasUpperCase = false;
for (int i = 0; i < name.length(); ++i) {
if (Character.isUpperCase(name.charAt(i))) {
nameHasUpperCase = true;
break;
}
}
在 Scala 里,你可以写成:
val nameHasUpperCase = name.exists(_.isUpperCase)
看了这段比较,让我想起了写sql语句,我们只关心where条件需要匹配什么数据,不关心数据库底层是怎么过滤每一行数据的,更高层次的编程。
scala是静态类型的,这个我觉得很重要,比起动态语言,例如ruby、grovvy,静态语言在大规模团体开发等有明显优势,ide也支持得可以很到位。试读章节也通过简单例子介绍了scala与java的不同之处。
怎么样,Scala还是很有前途的吧!Come on,快学Scala,就读《快学Scala》!
分享到:
相关推荐
快学scala 完整清晰版 大数据spark 主要的编程语言 快学scala 完整清晰版 大数据spark 主要的编程语言
快学scala的最新版本,独家一份,学习spark2.0的必备入门书籍,快来下载,绝对高清
《快学Scala》是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala运行于JVM之上,因此它...
花了5元订制的快学Scala pdf电子书! Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力...
快学scala习题、答案、详细解答 快学scala第一章习题答案.doc 快学scala第二章习题答案.doc 快学scala第三章习题答案.doc ......
快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰
快学Scala 中文版带目录 快学Scala 中文版带目录1 快学Scala 中文版带目录2
随着大数据上升为国家战略,现在各大公司都开始进军大数据行业。...《快学Scala》的作者是国际畅销书《Java核心技术》的主要作者,作者基于完全实用的角度给出了学习Scala的快速、基于代码的入门指南!
Scala-快学Scala 中文版, 一本scala入门的经典书籍, 推荐!
Cay S.Horstmann所著的《快学Scala》内容简介:Scala是一门以Java 虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的**特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发...
Scala for the Impatient 中文版 快学Scala pdf(含目录) scala 快速入门书箱 scala经典图书 Core Java作者最新力作 中文版 快学Scala Scala for the Impatient 中文版 [美]C S 霍斯曼 2012 电子工业出版社
快学scala的习题和答案,对学习scala有巨大帮助,可以好好学习scala,在学习的过程中可以边看边练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scala入门书籍,快学scala,简单概述scala的基本内容,完整中文版
是一本全面介绍Scala的书籍。快学scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的特性结合在一起的编程语言。
快学Scala 课后习题答案集合
这是Scala的学习资料,名字叫《快学Scala》,pdf版本。内有少许笔记。
快学scala答案总汇
快学Scala 课后习题答案集合-中文版
快学scala第二版带书签+源码。练习答案https://github.com/hempalex/scala-impatient
资源包含《快学Scala》,《Scala编程》,《深入理解JAVA虚拟机》和《阿里巴巴 Java编程规范》