本文同步自微信公众号:浮世Talk(ID:fausai_talk)
相信你已经大概了解Scala的诞生背景、适用领域等基本知识了,但是在学习一门新的编程语言之前,你还需要知道关于这门语言更多一点的细节,并且弄清楚在编写经典的Hello World程序之前需要做哪些准备。
1,与Java的关系
Scala是一门运行在Java虚拟机(JVM)上的多范式编程语言,所谓的多范式就是同时支持面向对象编程和函数式编程。由于Scala遵循JVM字节码规范,因此Scala源文件经过编译后,将生成和Java编译后同样的class文件,然后经过JVM类加载器加载、连接、初始化运行。
明白了Scala和Java的关系后,你还需要有个清晰的认识:假如你有一定的JVM语言编程经验,那么你可以很快速的入门Scala;但同时,假如你在面向对象编程领域有着丰富的经验,那么你在学习Scala函数式编程时很可能会无所适从。
但是无论怎么样,当我们下定决心要学习一门新语言时,我们就需要具备开放的思维方式,敢于接纳不同模式的编程思想。
2,函数式编程
关于什么是函数式编程,百度百科是这样定义的:
函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。
这段略显晦涩的定义简单点说就是:函数式编程是以函数作为基本单元,函数可以作为参数和返回结果在函数之间传递。函数式编程编写出来的Scala代码相当简洁,同时也很抽象,甚至是烧脑的。
1object Demo {
2 //1.将函数作为参数
3 def sum1(f:(Int,Int)=>Int,x:Int,y:Int):Int ={
4 f(x,y)
5 }
6 //2.将函数作为返回值
7 def sum2(x:Int)={
8 (y:Int)=>x+y
9 }
10}
Martin Odersky曾说过Scala是为聪明的程序员设计的,这也说明了想把Scala学好并不是一件简单的事,很可能会导致你从入门到迷茫。但是只要你入门了Scala函数式编程,我相信你的编程思维一定得到截然不同的改变,甚至不亚于一场精神上的洗礼。
3,环境搭建
可能现在的你已经下定决心要学习Scala了,并且内心极其迫切的要写个Hello World,让我们平复一下情绪,把开发环境搭建好。
由于Scala是运行在JVM上的,所以Scala的运行环境依赖JDK,首先需要到Oracle官网下载对应操作系统的安装包进行安装,需要JDK8以上版本。
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
https://pan.baidu.com/s/1oUM2q-m0JtJHp4fhsCmcFA 提取码:n8x4
下载完毕后是一个exe文件,双击安装即可。安装完毕,需要配置环境变量,可以参考这篇文章:win10安装和配置java jdk 开发环境。
成功安装JDK之后,接下来需要安装Scala,可以从官网下载对应操作系统的安装包。
https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.zip
https://pan.baidu.com/s/1NhanRqry0lU4QJOkb7bcew 提取码:7ue0
下载完毕后是一个zip压缩包,将该压缩包解压到你需要的目录下,再给Scala配置好环境变量,在命令行输入scala,进入交互模式(REPL ),如果出现以下信息即说明安装配置成功。
1C:\Users\faufai_talk>scala
2Welcome to Scala 2.12.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_131).
3Type in expressions for evaluation. Or try :help.
4scala>
4,Hello World
Scala支持在REPL交互模式下直接编写程序,现在你可以写下经典的Hello World程序,敲开通往Scala世界的大门了。
1scala> print("hello world!")
2hello world!
3scala>
- THE END -
扩展阅读:
扩展练习:
如何在idea上开发Scala程序?