scala基础与提升

学会scala从入门到实战

5.0 (个评分) 161人学习

初级 37课时 7小时6分钟 2022/04/21更新

资料下载

二维码 下载学堂APP 缓存视频离线看

    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
大数据运维架构师实战培训专题2.0
总价:
4350.00
套餐价:
3915.00
节省
¥435.00
MySQL数据库工程师入门培训实战教程(从MySQL5.7 到 MySQL8.0)
148599人学习
¥58.00
大数据运维架构师培训(1):Hadoop集群(HDFS,MR,Yarn),Zookeeper集群
18945人学习
¥499.00
大数据运维架构师培训(2):Hbase,Hive, Phoenix,Pig,Impala,Kudu
7251人学习
¥333.00
更 多 12 门 课 程
赵强-大数据课程之从Hadoop到Spark专题
总价:
2059.00
套餐价:
1441.30
节省
¥617.70
赵渝强老师:Hadoop 2.x(一) 大数据基础实战视频课程
64992人学习
¥279.00
赵渝强老师:Hadoop 2.x (二) 大数据进阶实战视频课程
22865人学习
¥199.00
赵渝强老师:Hadoop 2.x (三) 数据分析引擎:Hive视频课程
27861人学习
¥249.00
更 多 11 门 课 程
从Scala到Spark 2.x专题
总价:
2074.00
套餐价:
1593.72
节省
¥480.28
[老汤]Spark 2.x之Scala内功修炼视频课程四-面向对象编程基础
7245人学习
¥99.00
[老汤]Spark 2.x之Scala内功修炼视频课程五-函数式编程基础
2355人学习
¥99.00
[老汤]Spark 2.x之Scala内功修炼视频课程六-模式匹配
2047人学习
¥99.00
更 多 22 门 课 程
赵强-Hadoop大数据高级应用课程套餐
总价:
1343.00
套餐价:
1141.55
节省
¥201.45
赵渝强老师:Hadoop 2.x(一) 大数据基础实战视频课程
64992人学习
¥279.00
赵渝强老师:Hadoop 2.x (二) 大数据进阶实战视频课程
22865人学习
¥199.00
赵渝强老师:Hadoop 2.x (三) 数据分析引擎:Hive视频课程
27861人学习
¥249.00
更 多 7 门 课 程
[老汤]Spark 2.x精讲套餐
总价:
1450.00
套餐价:
1170.08
节省
¥279.92
[老汤]Spark 2.x 实战应用三系列之Spark-core RDD Api
38826人学习
¥159.00
[老汤]Spark 2.x 实战应用系列四之Spark-core正确提交spark应用
4780人学习
¥99.00
[老汤]Spark 2.x实战应用系列五之Schedulers On Driver
6695人学习
¥99.00
更 多 16 门 课 程
大数据专题 新人优惠券
  • 课程介绍
  • 课程大纲 试看
  • 讲师好课 56
  • 学员评价

适合人群:

需要学会scala从入门到实战的人们

学习计划:

1.每周学习3小时 2.每周练习小时 3.每周三小时代码实战

课程目标:

学会scala从入门到实战

课程简介:

Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格。Christopher Diggins认为:

不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。

根据David Rupp在博客中的说法,Scala可能是下一代Java。这么高的评价让人不禁想看看它到底是什么东西。

Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)。

与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。

Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、柯里化(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。

Scala是静态类型的,这就允许它提供泛型类内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上运行。

Scala可以与Java互操作。它用scalac这个编译器源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。用David Rupp的话来说,

它也可以访问现存的数之不尽的Java类库,这让(潜在地)迁移到Scala更加容易。

这让Scala得以使用为Java1.4、5.0或者6.0编写的巨量的Java类库和框架,Scala会经常性地针对这几个版本的Java进行测试。Scala可能也可以在更早版本的Java上运行,但没有经过正式的测试。Scala以BSD许可发布,并且数年前就已经被认为相当稳定了。

说了这么多,我们还没有回答一个问题:“为什么我要使用Scala?”Scala的设计始终贯穿着一个理念:

创造一种更好地支持组件的语言。(《The Scala Programming Language》,Donna Malayeri)

也就是说软件应该由可重用的部件构造而成。Scala旨在提供一种编程语言,能够统一和一般化分别来自面向对象和函数式两种不同风格的关键概念。

藉着这个目标与设计,Scala得以提供一些出众的特性,包括:

* 面向对象风格

* 函数式风格

* 更高层的并发模型

Scala把Erlang风格的基于actor的并发带进了JVM。开发者可以利用Scala的actor模型在JVM上设计具伸缩性的并发应用程序,它会自动获得多核心处理器带来的优势,而不必依照复杂的Java线程模型来编写程序。

* 轻量级的函数语法

o 高阶

o 嵌套

o 局部套用(Currying)

o 匿名

* 与XML集成

o 可在Scala程序中直接书写XML

o 可将XML转换成Scala类

* 与Java无缝地互操作

Scala的风格和特性已经吸引了大量的开发者,比如Debasish Ghosh就觉得:

我已经把玩了Scala好一阵子,可以说我绝对享受这个语言的创新之处。

总而言之,Scala是一种函数式面向对象语言,它融汇了许多的特性,而同时又运行于JVM之上。随着开发者对Scala的兴趣日增,以及越来越多的工具支持,无疑Scala语言将成为你手上一件必不可少的工具。

Scala与Groovy的对比

一篇名为“Scala,Groovy的杀手? ”的博客对Scala和Groovy进行了对比:

Scala和Groovy之间的核心区别在于前者是静态类型的。有些人可能争辩说这使得达到脚本化目标变得更加复杂了,而脚本化正是Groovy的动机。然而,Scala有完整的体系特征,这使Groovy看上去更像个玩具。比如,Scala有“sequence comprehensions”。该要素导致对算法的表述非常紧凑和强大。

Scala还有更多被证明是非常有用的特性,如嵌套类,currying和代数类型模式匹配。它还支持类似于JDK1.5所增加的泛型和注解。这些还都只是冰山一角。

之后,Derek Young撰文“Scala对比Groovy:静态类型是性能的关键”。在文中他举了一个实际的例子,试图说明针对同样的算法,Scala的性能远高于Groovy。

然而,Scala并不是尽善尽美的,它也有一些明显的缺陷。Rick Hightower在发表的一篇博客中,尖锐地批评了Scala的语法问题:

Scala并不是更好的选择。在阅读了Scala的文档之后,我的想法是:虽然这种语言的特性听起来挺好,但是语法却让我想放弃。为什么事情非要为了不同而不同?Scala让Groovy看起来比以前更加美味可口。

憎恨是个很强烈的词。我恨Scala的语法。请不要再推进这种语法了。……Scala有好的思想吗?有。借用过来就行了……

总而言之,Scala看起来像下一个被过度宣传的语言。只需要把其精华引入到Groovy中,然后扔掉那些糟糕的语法。我最喜欢的Scala特性是推理类型和强类型。C#3.0也有这些。(我不用C#,不见得我不喜欢它的一些特性。)


展开更多

课程大纲-scala基础与提升

展开更多

5

条学员评分 超过  “大数据系统”   99%的课程
      展开更多
      加载中
      没有了哦~

      ¥599.00

      立即购买
      关注公众号 领VIP会员
      下次再说

      点击打包下载,即可获取该课程全部资料

      打包下载
      迎新春满300减35 满400减50
      是否单独购买该课程?
      直接购买 去凑单
      在线
      客服
      APP
      下载

      下载Android客户端

      下载iphone 客户端

      官方
      微信

      关注官方微信

      返回
      顶部