The Scala Programming Language

Scala编程语言

Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries.

Scala 是 Scalable Language 的简写,是一门多范式的编程语言

联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。

Funnel是把函数式编程思想和Petri网相结合的一种编程语言。

Scala将面向对象和函数式编程结合在一种简洁的高级语言中。Scala的静态类型有助于避免复杂应用程序中的bug,它的JVM和JavaScript运行时允许您构建高性能系统,并可以轻松访问庞大的库生态系统。

然后scala是一种怎么样的语言,简短的说,它是面向函数的。具有什么样的优点,

1. 兼容性(极度重用java,学过java的很容易上手scala)

2. 简洁(实现同样功能,代码是java的一半)

3. 高层级(将java抽象封装得更好)

4. 集大成者(当然,用不好也可能变成四不像)

它可以极大化简化你的代码,其次里面有一个功能很强大,叫做隐式转换,在正式生效你写的代码之前,可以通过它,给原来的Scala 的方法丰富和增加新的功能,不需要你再去显示定义。无形之中你就有了更多的api可以调用。这是我认为它强大的地方。

缺点可能是成也萧何,败也萧何。

因为太灵活,所以学习起来,比Java难度大一些,门槛稍微高一点儿,这是我认为不足。

总之,希望上面那篇希望可以帮到你快速入门Scala,然后迅速开始Kafka、Spark、Flink的开发。

What is Scala相关推荐

  1. hadoop,spark,scala,flink 大数据分布式系统汇总

    20220314 https://shimo.im/docs/YcPW8YY3T6dT86dV/read 尚硅谷大数据文档资料 iceberg相当于对hive的读写,starrocks相当于对mysq ...

  2. 2021年大数据常用语言Scala(三十八):scala高级用法 隐式转换和隐式参数

    目录 隐式转换和隐式参数 隐式转换 自动导入隐式转换方法 隐式转换的时机 隐式参数 隐式转换和隐式参数 隐式转换和隐式参数是scala非常有特色的功能,也是Java等其他编程语言没有的功能.我们可以很 ...

  3. 2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法

    目录 高阶函数用法 作为值的函数 匿名函数 柯里化(多参数列表) 闭包 高阶函数用法 Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是"头等公民",它和Int. ...

  4. 2021年大数据常用语言Scala(三十六):scala高级用法 泛型

    目录 泛型 定义一个泛型方法 定义一个泛型类 上下界 协变.逆变.非变 非变 协变 逆变 泛型 scala和Java一样,类和特质.方法都可以支持泛型.我们在学习集合的时候,一般都会涉及到泛型. sc ...

  5. 2021年大数据常用语言Scala(三十五):scala高级用法 提取器(Extractor)

    目录 提取器(Extractor) 定义提取器 提取器(Extractor)  我们之前已经使用过scala中非常强大的模式匹配功能了,通过模式匹配,我们可以快速匹配样例类中的成员变量.例如: // ...

  6. 2021年大数据常用语言Scala(三十四):scala高级用法 异常处理

    目录 异常处理 捕获异常 抛出异常 异常处理 Scala中 无需在方法上声明异常 来看看下面一段代码. def main(args: Array[String]): Unit = {val i = 1 ...

  7. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)

    目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class 特 ...

  8. 2021年大数据常用语言Scala(二十九):scala面向对象 单例对象

    目录 单例对象 定义object - 掌握 伴生对象 - 掌握 apply方法 - 掌握 main方法 单例对象 Scala中没有static关键字,但是它支持静态 如果要定义静态的东西,统统定义到o ...

  9. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类

    目录 scala面向对象 MAVEN依赖 类 - 掌握 创建类和对象 - 掌握 getter/setter - 了解 类的构造器 - 掌握 scala面向对象 MAVEN依赖 <?xml ver ...

  10. 2021年大数据常用语言Scala(二十七):函数式编程 聚合操作

    目录 聚合操作 聚合  reduce 定义 案例 折叠  fold 定义 案例 聚合操作 聚合操作,可以将一个列表中的数据合并为一个.这种操作经常用来统计分析中 聚合  reduce reduce表示 ...

最新文章

  1. Effect of Switchovers, Failovers, and Control File Creation on Backups
  2. 机器学习有很多关于核函数的说法,核函数的定义和作用是什么?
  3. mysql 重装问题
  4. git 忽略文件 .gitignore 以及规则
  5. 【Qt】QModbusTcpClient类
  6. Java 中的某些方法为什么要求传入一个 Class 对象
  7. vue设置多选框默认勾选_Angular/Vue多复选框勾选问题
  8. 【Win10 应用开发】自定义应用标题栏
  9. 神州泰岳2050万元收买并增资奇点国际
  10. HTML DOM文档对象查找元素的方法
  11. Dalvik虚拟机的内存管理
  12. ajax post data 获取不到数据,注意content-type的设置post/get
  13. 网站日志分析工具:WebLog Expert Lite
  14. Python利用os.walk遍历文件夹
  15. AOF -- Redis 设计与实现
  16. ChIP-seq数据处理流程(附赠长达5小时的视频指导)
  17. HFS远程命令执行漏洞入侵抓鸡黑阔服务器
  18. zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag-uart(MDM)
  19. [《所遇随心》偶感小记]2012年8月28日
  20. 从今天起我想要热爱生活

热门文章

  1. 随想录二刷Day15——二叉树
  2. tkinter实现带背景图片的登录窗口
  3. php去除正斜杠,php怎么去掉斜线
  4. 神鱼:未来PoS是更好的选择,Staking和Defi可能会形成博弈
  5. 针对不同消费行为,如何开展个性化会员管理?
  6. 光电特性实验台,QY-GD01
  7. Java NIO学习笔记三------Chanel的四种实现篇
  8. Magical爬虫の学习(1)
  9. 分享我自己的导航网站bituplink导航 (附GitHub开源代码项目OneHtmlNav)
  10. 联想 Yoga 14s 2021 (Intel) 安装 ubuntu