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语言将成为你手上一件必不可少的工具。
学习地址:https://www.roncoo.com/course/view/bbd372aa876e4d7aa37e533a45bf7bf2
课程大纲
第1节Scala深入浅出-001讲-Scala开发环境搭建,入门程序介绍
第2节Scala深入浅出-002讲-Scala脚本,for,while,foreach,if快速上手
第3节Scala深入浅出-003讲-Scala中的数组类型详细介绍
第4节Scala深入浅出-004讲-Scala中的列表类型(List)特性以及使用介绍
第5节Scala深入浅出-005讲-Scala中的列表类型(List)方法详细讲解
第6节Scala深入浅出-006讲-Scala中的元组类型(Tuple)使用讲解
第7节Scala深入浅出-007讲-Scala中的集合类型(Set)使用讲解
第8节Scala深入浅出-008讲-Scala中的映射类型(Map)使用讲解
第9节Scala深入浅出-009讲-Scala函数式风格编程入门介绍
第10节Scala深入浅出-010讲-Scala类,对象,成员变量,方法讲解
第11节Scala深入浅出-011讲-Scala中的singleton对象,伴生对象详解
第12节Scala深入浅出-012讲-Scala中的数据类型继承层级
第13节Scala深入浅出-013讲-Scala函数式对象之构造函数,重写父类方法,定义类成员方法
第14节Scala深入浅出-014讲-Scala函数式对象之辅助构造函数,this,私有方法私有属性
第15节Scala深入浅出-015讲-Scala函数式对象之方法重载,运算符重载,隐式转换初探
第16节Scala深入浅出-016讲-Scala内建控制IF讲解
第17节Scala深入浅出-017讲-Scala内建控制WHILE,DO-WHILE讲解
第18节Scala深入浅出-018讲-Scala内建控制FOR的基本用法和特点详解
第19节Scala深入浅出-019讲-Scala内建控制FOR YIELD以及去break,continue详解
第20节Scala深入浅出-020讲-Scala异常处理以及match讲解
第21节Scala深入浅出-021讲-Scala中的方法以及本地方法详细讲解
第22节Scala深入浅出-022讲-Scala中的头等函数详细讲解
第23节Scala深入浅出-023讲-Scala中占位符的用法以及如何将普通函数转换成头等函数
第24节Scala深入浅出-024讲-Scala中的部分函数(函数的多态)用法
第25节Scala深入浅出-025讲-Scala中的闭包函数以及与Javascript的闭包对比
第26节Scala深入浅出-026讲-Scala中的重复参数方法详细介绍
第27节Scala深入浅出-027讲-Scala中的高阶函数讲解
第28节Scala深入浅出-028讲-Scala中的尾递归详细讲解
第29节Scala深入浅出-029讲-Scala入门课程内容总结与回顾-1
第30节Scala深入浅出-030讲-Scala入门课程内容总结与回顾-2
第31节Scala深入浅出-031讲-Scala入门课程内容总结与回顾-3
第32节Scala深入浅出-032讲-Scala开发中减少重复性代码-上
第33节Scala深入浅出-033讲-Scala开发中减少重复性代码-下
第34节Scala深入浅出-034讲-Scala中的柯里化(Currying)详细讲解
第35节Scala深入浅出-035讲-Scala中如何自定义控制结构详细讲解
第36节Scala深入浅出-036讲-Scala中的传递名称参数语法以及用法详解
第37节Scala深入浅出-037讲-Scala中的继承与组合之抽象类,抽象方法,抽象属性以及继承
第38节Scala深入浅出-038讲-Scala中的继承与组合之调用父类构造函数,用属性的方式重写父类的方法
第39节Scala深入浅出-039讲-Scala中的继承与组合之方法重载,字段重载等详细讲解
第40节Scala深入浅出-040讲-Scala中的继承与组合之Scala中的final,调用父类方法,类型转换,模式匹配
第41节Scala深入浅出-041讲-Scala中的继承与组合之匿名子类,结构类型对象,提前定义讲解
第42节Scala深入浅出-042讲-Scala中类的继承层级关系概述
第43节Scala深入浅出-043讲-Scala中类的继承层级关系详解
第44节Scala深入浅出-044讲-Scala入门课程内容总结与回顾-4
第45节Scala深入浅出-045讲-Scala中Trait(特质)的使用详细讲解以及菱形继承的问题
第46节Scala深入浅出-046讲-Scala中Trait(特质)的使用详细讲解之胖瘦接口
第47节Scala深入浅出-047讲-Scala中Trait(特质)的使用详细讲解之Ordered特质
第48节Scala深入浅出-048讲-Scala中Trait(特质)的使用详细讲解之带有特质的对象
第49节Scala深入浅出-049讲-Scala中Trait(特质)的使用详细讲解之堆砌
第50节Scala深入浅出-050讲-Scala中Trait(特质)的线性执行顺序
第51节Scala深入浅出-051讲-Scala中Package(包)的两种定义方式
第52节Scala深入浅出-052讲-Scala中Package(包)的导入,比Java提供的方式更为精彩
第53节Scala深入浅出-053讲-Scala中Package(包)的访问修饰符详细介绍
第54节Scala深入浅出-054讲-Scala中Package(包)之包对象以及用途讲解
第55节Scala深入浅出-055讲-Scala入门课程内容总结与回顾-5
第56节Scala深入浅出-056讲-Scala模式匹配之值,类型,变量匹配以及匹配规则讲解

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员/产品/运营应该怎样学习数据分析?[转]
很多学习数据分析的同学也都有这样一种困惑“为什么学了那么多工具,还是不会数据分析?”,原因无外乎两个,一是只学到了碎片的知识,没有建立知识之间的连接,无法形式自己的知识体系,二是缺乏实践,导致无法形成“知行合一”的工作技能。 知识超载和碎片化 当代人都面临两个问题——信息超载和知识碎片化。 信息超载老话题不多说了,讲几个数据: 全世界每天有4000本书出版,超过4亿个字; 纽约时报一天的文字量等于牛顿同时代的人一生的阅读量; 一个专业领域,每天大概有200个公众号正在注册,有近1000篇文字正在产生…… 过去杂家、博物家在现代社会已经不可能存在,即使有,也干不过谷歌度娘。 结论1:知识的储存能力,人类早就被电脑完胜了,知识的搜索和链接能力,才是学习的核心竞争力。 另一个趋势也很明显:知识碎片化。这个碎片化从3个方面开始—— 首先时间和空间被打碎,移动手机允许你在三站地铁里听完一本书; 其次被打碎的是信息,如果你翻知乎、今日头条或者某个博客,你并不会像看一本书一样,知道前面一章讲什么的,后面即将讲什么,除了标题党,你根本对下一个博客、内容毫无预期,只能被动接受; 最糟糕的其实是知识结构碎...
- 下一篇
Spring-Boot使用profile来配置不同环境的配置文件
在springboot的开发中,有时候我们会有不同的配置,例如日志打印,数据库连接等,开发,测试,生产每个环境可能配置都不一致,还好,springboot支持通过不同的profile来配置不同环境的配置,下面就大致介绍一下yml配置文件跟properties配置文件怎么使用profile配置不同环境的配置文件... 先介绍一下开发环境: jdk版本是1.8 springboot的版本是1.4.1 开发工具为 intellij idea 我们先来介绍,使用一个yml文件,通过不同的profile来配置属性文件: 1.首先,我们先创建一个名为 application.yml的属性文件,如下: 2.然后打开文件,输入一下内容: #查看springboot开启了哪些配置 debug:false spring: profiles: active:dev --- #开发环境配置 spring: profiles:dev server: port:8080 --- #测试环境配置 spring: profiles:test server: port:8081 --- #生产环境配置 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能