首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scala快速入门系列(1) | scala的简单介绍

scala快速入门系列(1) | scala的简单介绍

作者头像
不温卜火
发布2020-10-28 17:06:18
4780
发布2020-10-28 17:06:18
举报
文章被收录于专栏:不温卜火不温卜火不温卜火

一. scala的前世今生

1
1

  联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。   马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。所以当接触到JAVA语言后,对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)。

  Pizza和Scala极大地推动了Java编程语言的发展。

  • jdk5.0 的泛型,for循环增强,自动类型转换等,都是从Pizza 引入的新特性。
  • jdk8.0 的类型推断,Lambda表达式就是从Scala引入的特性。

二. Scala和Java关系

2
2

  一般来说,学Scala的人,都会Java,而Scala是基于Java的,因此我们需要将Scala和Java以及JVM 之间的关系搞清楚,否则学习Scala你会蒙圈。

一图带你了解Scala和Java以及JVM 之间的关系

3
3

三. scala简介

  Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。

1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。 2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。 3)Scala单作为一门语言来看,非常的简洁高效。 4)Scala在设计时,参考了Java的设计思想,可以说Scala是源于Java,同时也加入了自己的思想,将函数式编程语言的特点融合到JAVA中。

  早期,scala刚出现的时候,并没有怎么引起重视,随着SparkKafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性

接下来,我们要来学习:

  1.为什么要使用scala?   2.通过一个案例对比Java语言和scala语言

四. 为什么要使用scala

  • 开发大数据应用程序(Spark程序、Flink程序)
  • 表达能力强,一行代码抵得上Java多行,开发速度快。
  • 兼容Java,可以访问庞大的Java类库,例如:操作mysql,redis,freemarker等等。

五. scala对比Java

有一个字符串(数字)列表,我们想将该列表中所有的字符串转换为整数。

  • Java代码
// 创建一个Integer类型的列表
 List<Integer> ints = new ArrayList<Integer>(); 
 for (String s : list) { 
 ints.add(Integer.parseInt(s)); 
 }
  • scala代码
val ints = list.map(s => s.toInt)

  还记得在简介中谈到的,scala的主要优势是它的表达性。没错,相比于java而言,scala可以用更少的代码"优雅"地表达出我们所想。所以,scala足以成为我们程序员必须涉猎的语言之一。

  本次的分享就到这里了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. scala的前世今生
  • 二. Scala和Java关系
  • 三. scala简介
  • 四. 为什么要使用scala
  • 五. scala对比Java
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档