当前技术发展那么快,作为一个搞技术的,一年学习一门编程语言(当然啦,这里是学会,应用框架,并不是需要十分精通),多睁开眼睛看看,培养自身学习兴趣,人们对新鲜事物总是有浓厚的兴趣的,所以前段时间就开始接触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第一章习题答案.doc"、"快学scala第二章习题答案.doc"、"快学scala第三章习题答案.doc"——暗示了这份学习资料是按照章节结构编排的,每个章节都有对应的习题和详尽的答案。...
《快学Scala》是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala运行于JVM之上,因此它...
花了5元订制的快学Scala pdf电子书! Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力...
快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰 快学scala中文版带目录,清晰
"快学Scala 中文版"是一本专为初学者设计的 Scala 入门书籍,它以清晰易懂的方式介绍了 Scala 的核心概念和技术。 在本书中,读者将首先了解到 Scala 的基本语法,包括变量声明、数据类型(如基本类型、引用类型、...
随着大数据上升为国家战略,现在各大公司都开始进军大数据行业。...《快学Scala》的作者是国际畅销书《Java核心技术》的主要作者,作者基于完全实用的角度给出了学习Scala的快速、基于代码的入门指南!
Cay S.Horstmann所著的《快学Scala》内容简介:Scala是一门以Java 虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的**特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发...
"快学Scala2带书签、源码"是一个针对初学者和有一定经验的开发者的资源包,旨在帮助他们快速掌握Scala语言的第二版。** 在《快学Scala》第二版这本著作中,作者通过简洁易懂的讲解,深入浅出地介绍了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(黑马老师推荐)"这个压缩包很可能是由知名的教育机构——黑马程序员提供的Scala学习资料,包含了高清的课程内容,旨在帮助学习者快速掌握这门语言。 在Scala中,类和对象是核心概念。类用于定义对象的...
快学scala的习题和答案,对学习scala有巨大帮助,可以好好学习scala,在学习的过程中可以边看边练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
首先,《快学Scala》和《Scala编程》是两本针对不同层次读者的Scala学习教材。《快学Scala》可能更注重基础知识和快速上手,适合初学者快速掌握Scala的基本语法和核心概念,如模式匹配、高阶函数、类型系统和 Actors...
"快学Scala中文版"是一本为初学者设计的教程,旨在帮助读者快速理解和掌握Scala语言的基础知识。 本书首先会介绍Scala的基础概念,包括变量、常量、数据类型以及控制流语句。在Scala中,变量声明使用`var`关键字,...
"快学Scala"可能是一本教程或课程,旨在帮助初学者快速掌握这种语言。这个压缩包包含的是该教程或课程的课后习题答案及源码,共计22章的内容,覆盖了Scala的基础到高级主题。 在学习Scala时,掌握以下关键知识点是...
**快学Scala中文版**是一本面向初学者和有一定编程经验的人士的教材,旨在帮助读者快速掌握Scala这一强大的函数式编程语言。该书通过深入浅出的方式,讲解了Scala的基础概念、语法特性以及高级应用,是学习Scala的...