CC00002.scala——|Hadoop&Scala.V02|——|Scala.v02|Scala基础|语言概况|

Scala是由马丁·奥德斯基创造的一门编程语言,它结合了面向对象和函数式编程的特点,运行在JVM上并与Java无缝互操作。Scala的特点包括其静态类型系统、优雅的语法以及对并发处理的支持,如使用Actor模型。学习Scala的原因在于其代码的优雅性和简洁性,以及在大数据生态圈中的广泛使用,如Spark和Kafka的源码。
摘要由CSDN通过智能技术生成
一、Scala基础
### --- Scala语言概况:Scala语言起源

~~~     马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者。
~~~     主流JVM的Javac编译器就是马丁·奥德斯基编写出来的,JDK5.0、JDK8.0的编译器就是他写的。
~~~     长时间的编程之后,他希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。
~~~     当接触到Java语言后,对Java这门语言产生了极大的兴趣,
~~~     所以决定将函数式编程语言的特点融合到Java中,由此发明了Scala。
### --- Scala语言特点

~~~     Scala是一门以 JVM 为运行环境并将面向对象和函数式编程的最佳特性结合在一起
~~~     静态类型编程语言。
~~~     Scala源代码会被编译成Java字节码,然后运行于JVM之上,并可以调用现有的Java类库,
~~~     实现两种语言的无缝互操作的。
~~~     # 面向对象

~~~     Scala是一种面向对象的语言。
~~~     Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。
~~~     # 函数式编程

~~~     Scala也是一种函数式语言,其函数也能当成值来使用。
~~~     Scala中支持高阶函数,允许嵌套多层函数,并支持柯里化。
~~~     Scala提供了模式匹配,可以匹配各种情况,比如变量的类型、集合的元素、有值或无值。
~~~     # 静态类型
~~~     Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。

~~~     # 并发性
~~~     Scala使用Actor作为其并发模型,Actor是类似线程的实体。
~~~     Actor可以复用线程,因此可以在程序中使用数百万个Actor,而线程只能创建数千个。
### --- 为什么要学Scala

~~~     # 优雅:
~~~     这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,
~~~     API是否优雅直接影响用户体验。
~~~     # 简洁:
~~~     Scala语言表达能力强,一行代码抵得上Java多行,开发速度快。

~~~     # 融合大数据生态圈:
~~~     Hadoop现在是大数据事实标准,
~~~     (Kafka Spark源码都是用Scala编写的,SparkFlink都支持使用Scala进行开发)
~~~     Spark并不是要取代Hadoop,而是要完善Hadoop生态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值