前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scala简介和安装

Scala简介和安装

作者头像
云飞扬
发布2018-05-11 13:49:23
8190
发布2018-05-11 13:49:23
举报
文章被收录于专栏:星汉技术星汉技术

Scala简介和安装

    本篇文章为大家介绍以下Scala和Scala的安装以及IDE(eclipse)的使用,虽然这个基本环境没有什么技术含量,但是基本环境做不好,往后探讨再高深的东西,都是白扯,这里的所有Scala使用都是在window环境下的。

----------目录---------------------------------------------------------

1.Scala简介和安装

2.Scala语法介绍

3.Scala的函数

4.Scala中的集合类型

-------------------------------------------------------------------------------------------------------------

一、介绍

1、官方说明

    官方网址:http://www.scala-lang.org

    官网对scala的介绍:

    Scala既是面向对象的语言,也是面向函数的语言。scala可以为你在做大量代码重用和扩展是提供优雅的层次结构,并可以通过高阶函数来实现这样的目标。(高阶函数是函数式编程里的特性之一,允许函数作为参数传递,也允许函数作为返回值来返回)。

2、作者介绍

    Scala创始人Martin Odersky马丁·奥德斯基。

    Martin是EPFL(瑞士领先的技术大学,洛桑联邦理工学院)编程研究组的教授。他在整个职业生涯中一直不断追求着一个目标:让写程序这样一个基础工作变得高效、简单、且令人愉悦。

    他可能比世界上任何一个人写过更多的Java和Scala代码。他编写了javac,这是目前大部分Java程序员所使用的编译器。他也编写了Scala编译器scalac,可谓是Scala社区飞速发展的基石。他著有《Programming in Scala》一书,是最畅销的Scala书籍。他曾经就职于IBM研究院、耶鲁大学、卡尔斯鲁厄大学以及南澳大利亚大学。在此之前,他在瑞士苏黎世联邦理工学院追随Pascal创始人Niklaus Wirth学习,并于1989年获得博士学位。

    对于scala这门语言,有人把它当做Java的延伸版,有人把它当做JVM上的C++,有人觉得这是面向对象语言和面向函数语言的简单混合,有人觉得这就是Haskell,而且也还不如Haskell强。(纯的面向函数式编程语言)

    下图Martin Odersky马丁·奥德斯基(Scala的发明者,EPFL教授)在2016年夏天的Scala Day旧金山大会上发出了这张著名的玩笑照片:

    这个图片上的翻译是:“Scala唯一的作用是将人引向Haskell”。马丁·奥德斯基以此作为一个笑话,说他该把Scala改一下名字,叫做Hascalator,还请人设计了一个Logo。

3、Scala语言的特点

    Scala并不适于编程的初级课程。相反,它是为专业程序员定制的强力语言。

    1)它是一门现代编程语言,作者是Martin Odersky(javac之父),受到Java、Ruby、Smalltalk、ML、Haskell、Erlang等语言的影响。

    2)它即是一门面向对象(OOP)语言,每个变量都是一个对象,每个“操作符”都是方法。它同时也是一门函数式编程(FP)语言,可以将函数作为参数传递。你可以用OOP、FP,或者两者结合的方式编写代码。

    3)Scala代码通过scalac编译成.class文件,然后在JVM上运行,可以无缝使用已有的丰富的Java类库。即Scala的代码会编译成字节码,运行在Java虚拟机(JVM)上。

    4)接触语言的第一天你就能编出有趣的程序,但是这门语言很深奥,随着学习的深入,你会发现更新、更好的编写代码的方式。Scala会改变你对编程的看法。针对同一任务,可以有很多种不同的实现方式,并且可读性以及性能都有不一样的体现。

4、scala编程示例

代码语言:javascript
复制
Array(1,2,3,4)

    如何遍历数组中的元素,你应该这么做:

代码语言:javascript
复制
for(i<-Array(1,2,3,4))println(i)
Array(1,2,3,4).foreach{print(_)}

    如果尝试将这些元素转换为新的集合,应该使用for/yield表达式或者map方法:

代码语言:javascript
复制
for(i<-Array(1,2,3))yield i*2
//> res4: Array[Int] = Array(2, 4, 6)
Array(1,2,3).map(_*2)
//> res5: Array[Int] = Array(2, 4, 6)

    比如过滤出一个集合中元素小于4的集合,你可以使用filter方法:

代码语言:javascript
复制
val nums=List(1,2,3,4).filter(_<4)
//> nums  : List[Int] = List(1, 2, 3)

5、作者箴言

    Scala相较于Java而言,则是相信程序员的优化能力。马丁·奥德斯基说:“很多程序员会告诉我,他们一般会重构他们的Scala代码两三次,甚至三四次。”这听起来似乎非常的没有效率,但Scala就是这样的语言,每一次重构,代码的性能或者是可读性都会有极高的提升。

    Scala不把程序员当傻子。马丁·奥德斯基对于scalca的定位很清楚:“Scala现在是为聪明人创造的,以后也是为聪明人服务的。”

    Scala提供一整套工具,让程序员自由选择,无论是mutable数据结构,immutable数据结构,并行(parallel)数据结构。然后在这些选择中,Scala再针对他们进行算法层面的特殊优化。Scala相信程序员的聪明才智,让程序员自行选择合适的结构,以针对变化万千的任务需求,这点是Scala做得极好的地方。

    scala不是一门纯的函数式编程语言,所以有别纯函数式语言的区别之一是:scala提供变量和常量,而纯函数式编程语言是没有变量这概念的。

    之前就有人提到过,Scala新手和老手写出来的代码完全会呈现两种不同的风格,甚至新人根本不能读懂有经验的Scala程序员所写的代码,有人于是戏称:“太好了,这样的话我们部门的实习生就不能乱碰我写的代码啦!”但其实不仅风格不同,执行效率差距也一定是巨大的。

6、Scala语言的应用

    kafka:分布式消息队列,内部代码经常用来处理并发的问题,用scala可以大大简化其代码。

    spark:处理多线程场景方便,另外spark主要用作内存计算,经常要用来实现复杂的算法。利用scala这种函数式编程语言可以大大简化代码。

    注:本文仅列举一部分。

二、运行配置及使用

1、Scala Windows

1.安装步骤

    安装Scala的前提必须已经安装好了JDK,JDK的安装不做赘述。这里需要1.7版本及以上的。

1>双击运行安装

到官网下载如下图的安装包即可。

    双击运行,基本就是傻瓜式的操作,这里就不多做赘述。

2>添加环境变量

如果安装之后,看到系统环境变量的Path中已经有了scala的环境变量,那么就不需要配置。我在安装的时候,是这种情况。

    如果安装完成之后,查看环境变量Path中没有Scala的环境变量,那么就需要手动添加scala安装目录的bin目录路径到系统环境变量中。这个配置和JDK的配置是差不多的。如下图所示:

2.使用

Scala基本是基于Java的,所有的使用的方法基本和Java相同,差别就在与一些命令不同,如下:

1>通过cmd

    通过cmd命令窗口,输入scala,查看Scala的版本信息,和Java的java -version一样的功能。如下图:

交互模式

    可以通过命令行直接输入scala命令,如下为打印字符到控制台:

编译模式

    也可以先编写***.scala文件,通过执行文件来执行命令,比如:

    先在e盘下创建一个hello.scala文件,文件中写入如下内容:

代码语言:javascript
复制
print("hello scala");

    然后通过cmd执行:

    也可以先生成.scala文件,再编译生成.class文件,再执行。

    在e盘下,创建Person.scala文件,内容如下:

代码语言:javascript
复制
object Person{
  def main(args: Array[String]): Unit = {
    println("hello scala hello world~")
  }
}

    在e盘路径下进入cmd命令窗口,然后执行:scalac Person.scala

    执行完后会发现在e盘下多出了对应的class文件。

    调用执行:scala Person

    看到这里你就会发现,Scala和Java的共通之处了。

2、使用IDE开发

在网上看到很多人,为了在eclipse中安装Scala插件而发愁,这里我直接使用的就是带有Scala的eclipse,解压之后配置几个参数就可以使用。大家也可以下载这个版本的eclipse进行开发。

1.安装

    解压即可使用。

    如下图:打开eclipse的window选项的preferences,一般需要调的地方就是红框框的这几个选项。

    workspace:主要就是字符编码,调成自己需要的,我这里选用的是UTF-8,现在开发,一般也都是用的这个字符编码。

    Java-Compiler:检查jdk版本是否和自己安装的jdk版本一致。

    Java-installed JREs:检查jre版本是否和自己安装的一致,如果不一致,进行修改。

    Scala-Conmpiler:检查JVM的版本,想调成和自己jdk一样版本的也可以,使用默认1.6的也可以。

    如果大家有需要这个eclipse,可以在下方留言,或者私信我,我会将这个版本的jdk放到网络中,将链接贴到这里供大家下载使用。

2.使用

1>创建项目

    创建scala project,如下图:

2>创建类

工程创建完毕后,创建scala object,如下图:

3>编写代码

编写代码,如下图:

4>运行

运行得到结果。

下一篇:Scala语法介绍

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Scala简介和安装
  • ----------目录---------------------------------------------------------
  • 一、介绍
    • 1、官方说明
      • 2、作者介绍
        • 3、Scala语言的特点
          • 4、scala编程示例
            • 5、作者箴言
              • 6、Scala语言的应用
              • 二、运行配置及使用
                • 1、Scala Windows
                  • 1.安装步骤
                  • 2.使用
                • 2、使用IDE开发
                  • 1.安装
                  • 2.使用
              相关产品与服务
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档