当前位置:网站首页>Scala基础【入门及安装】
Scala基础【入门及安装】
2022-06-30 01:38:00 【hike76】
一 Scala入门
1 什么是Scala
从英文的角度来讲,Scala并不是一个单词,而是Scalable Language两个单词的缩写,表示可伸缩语言的意思。从计算机的角度来讲,Scala是一门完整的软件编程语言,那么连在一起就表示Scala是一门可伸缩的软件编程语言。之所以说它是可伸缩,是因为这门语言体现了面向对象,函数式编程等多种不同的语言范式,且融合了不同语言新的特性。
Scala编程语言是由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计并开发的。由于Martin Odersky之前的工作是开发通用Java和Javac(Sun公司的Java编译器),所以基于Java平台的Scala语言于2003年底/2004年初发布。
Scala官网:https://www.scala-lang.org/
目前大数据主要的批处理计算引擎框架Spark是基于Scala语言开发的,主要的流式计算引擎框架Flink也提供了Scala相应的API, 并且大数据领域中函数式编程的开发效率更高,更直观,更容易理解。
Martin Odersky是狂热的编译器爱好者,长时间的编程后,希望开发一种语言,能够让写程序的过程变得简单,高效,所以当接触到Java语言后,感受到了这门语言的魅力,决定将函数式编程语言的特性融合到Java语言中,由此产生了2门语言(Pizza & Scala),这两种语言极大地推动了Java语言的发展
- JDK1.5的泛型,增强for循环,自动类型转换等都是从Pizza语言引入的新特性
- JDK1.8的类型推断,λ(lambda)表达式是从Scala语言引入的新特性
由上可知,Scala语言是基于Java开发的,所以其编译后的文件也是字节码文件,并可以运行在JVM中。
2 scala安装
(1)环境安装
安装JDK1.8
解压文件:scala-2.12.11.zip,解压目录要求无中文无空格
配置环境变量



在windows下运行cmd,输入以下命令,出现下图信息表示安装成功。
(2)Scala插件安装
默认情况下IDEA不支持Scala的开发,需要安装Scala插件。
File-Settings-搜索Scala-点击右侧按钮(install)
如果下载慢,请访问网址:https://plugins.jetbrains.com/plugin/1347-scala/versions
(3)hello scala
① 创建maven项目
② 增加Scala框架支持
默认情况,IDEA中创建项目时不支持Scala的开发,需要添加Scala框架的支持。
在项目名字上右键,选择scala,将scala安装目录配置进去

③ 创建类
package com.hike.bigdata.scala.chapter01
object Scala01_HelloWorld {
def main(args: Array[String]): Unit = {
System.out.println("Hello Scala World")
}
}
边栏推荐
猜你喜欢
随机推荐
[graph neural network] overview of graph classification learning [2]: graph classification based on graph neural network
【机器学习Q&A】准确率、精确率、召回率、ROC和AUC
Mysql 监控
C语言 害死人不偿命的(3n+1)猜想
Pytorch中transforms的用法整理
模块导入reload方法
C语言 素数对猜想
Varnish foundation overview 3
Sentinel source code analysis Part 6 - sentinel adapter module Chapter 4 zuul2 gateway
【论文写作】英文论文写作指南
Gesture digital enlightenment learning machine
Sorting out the usage of transforms in pytoch
MySQL monitoring 2
[machine learning Q & A] cosine similarity, cosine distance, Euclidean distance and the meaning of distance in machine learning
Cookie encryption 15 login encryption
Pytorch 修改hook源码 获取Per-Layer输出参数(带layer name)
【机器学习Q&A】数据抽样和模型验证方法、超参数调优以及过拟合和欠拟合问题
【二叉树】最大二叉树 II
The (3n+1) conjecture that C language kills people without paying for their lives
Seata and the three platforms are working together in the summer of programming. Millions of bonuses are waiting for you








