Scala语言学习之环境安装(1)

简介:

==> Scala语言简介

        --> Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格

        --> 不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”。Scala代表了一个新的语言品种,它抹平了这些人为划分的界限。

==> Scala有几项关键特性表明了它的面向对象的本质

        --> Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。

        --> 类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-based composition)

        --> 与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。

        --> Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-Order Function)、局部套用(Currying)、嵌套函数(Nested Function)、序列解读(Sequence Comprehensions)等等。

        --> Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(Polymorphic Method)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上运行。

        --> Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。


==> 为什么我要使用Scala?

        --> Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。(《The Scala Programming Language》,Donna Malayeri)也就是说软件应该由可重用的部件构造而成。Scala旨在提供一种编程语言,能够统一和一般化分别来自面向对象和函数式两种不同风格的关键概念


==> Scala得以提供一些出众的特性

        --> 面向对象风格

        --> 函数式风格

        --> 更高层的并发模型

        --> Scala把Erlang风格的基于actor的并发带进了JVM。开发者可以利用Scala的actor模型在JVM上设计具伸缩性的并发应用程序,它会自动获得多核心处理器带来的优势,而不必依照复杂的Java线程模型来编写程序。

        --> 轻量级的函数语法

        --> 高阶

        --> 嵌套

        --> 局部套用(Currying)

        -->  匿名

        --> 与XML集成

        --> 可在Scala程序中直接书写XML

        --> 可将XML转换成Scala类

        --> 与Java无缝地互操作


==> Scala 是一种多范式的编程语言,设计意图是要集成面向对象编程和函数式编程的各种特性


==> 技巧

        --> 

        --> 不要陷入C++一样的、不断膨胀的问题里,留下太多的选择,且没有清晰的最佳实践。这导致每个人都在选择不同的子集。要提供适应的指导。

        --> 记住,反对不良的设计功能与增加新功能同等重要——这很残酷。

        --> 考虑拆分语言为产生环境创建可行的标准。为学术世界节省成本是一个明智的选择。迎合企业的需要,获得更大的采用。

        --> 库的编写者应该看看Java API,确认是否应该有功能调用或结构化功能,为了更好的阅读。不要为了流动性在跳跃太大来与Ruby竞争。

        --> 最后,当人们提出的建设性的批评时,不要感到失望。如果同样的报怨不断出现,那就说明应该重视一下。


==> 环境部署

        --> 由于 Scala 是基于 JVM 运行的,所以需要配置 JAVA环境,这里不在复述

        --> 安装Scala:下载  http://www.scala-lang.org/download/

                 注意:版本跟Spark的Scala版本一致

                    scala-2.11.8.zip


        --> Scala的运行环境(开发工具)

        --> 命令行:REPL

                --- 进入: scala

                --- 退出::quit

                --- (*) paste 模式: 相当于vi编辑器

                --- 进入: :paste

                --- 退出: ctrl+D

        --> IDEA

                --- 默认:没有Scala的环境

                --- 需要安装插件:SBT(需要联网,有点慢)

(3)Scala IDE:基于Eclipse


        --> 参考此链接:http://blog.csdn.net/yuanguangyu1221/article/details/50889522


本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2071186


相关文章
|
2月前
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
75 5
|
2月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
56 3
|
29天前
|
消息中间件 分布式计算 Java
Scala语言发展历史及基本常识
Scala,由马丁·奥德斯基于2001年创造,融合了Java和JavaScript的特性,被称为“大数据的黄金语言”。它是Spark、Flink、Kafka等项目的主要开发语言,运行在JVM上,与Java高度兼容,支持面向对象和函数式编程。Scala以精简的语法和高级语言特性著称,成为大数据处理领域的首选语言之一。
|
4月前
|
监控 安全 Java
Scala 语言助力局域网监控电脑屏幕软件的创新
在数字化办公时代,局域网监控软件对企业和信息安全至关重要。Scala语言融合了面向对象与函数式编程,其简洁的语法和强大的类型系统为这类软件的开发提供了新机遇。利用Scala的函数式编程特性,开发者能编写更简洁、易维护的代码;结合Java的丰富类库,实现高效网络通信;Scala的并发模型还能优化多线程处理,提升监控效率。这些特点使Scala成为开发智能且高效的局域网监控软件的理想选择。
28 0
|
5月前
|
分布式计算 大数据 Java
大数据开发语言Scala入门
大数据开发语言Scala入门
|
5月前
|
IDE 大数据 Java
「AIGC」大数据开发语言Scala入门
Scala,融合OOP和FP的多范式语言,在JVM上运行,常用于大数据处理,尤其与Apache Spark配合。要开始学习,安装Scala,选择IDE如IntelliJ。基础包括变量、数据类型、控制结构、函数。Scala支持类、对象、不可变数据结构、模式匹配和强大的并发工具。利用官方文档、教程、社区资源进行学习,并通过实践提升技能。
73 0
|
7月前
|
Scala 容器
Scala学习--day04--集合、常用方法、案例实操 - WordCount TopN、不同省份的商品点击排行
Scala学习--day04--集合、常用方法、案例实操 - WordCount TopN、不同省份的商品点击排行
112 2
|
7月前
|
消息中间件 分布式计算 大数据
Scala学习--day03--函数式编程
Scala学习--day03--函数式编程
104 2
|
JavaScript 前端开发 Java
Scala语言入门以及基本语法
Scala语言入门以及基本语法
|
存储 前端开发 Java
Scala语言入门|阿里云产品内容精选(二十九)
本次给大家带来Scala语言入门技巧~