|NO.Z.00002|——————————|BigDataEnd|——|Hadoop&Scala.V02|——|Scala.v02|Scala基础|语言概况|

一、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生态。

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(26)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示