Scala概述

官网:https://www.scala-lang.org/

Scala概述

Scala(发音为/?skɑ?l?, ?ske?l?/)是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。

Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序,Scala的编译模型(独立编译,动态类加载)与Java和C#一样,所以Scala代码可以调用Java类库。

为什么要使用Scala

Spark源码核心是使用Scala开发的,既然要学习Spark肯定要学习一些Spark底层的源码,所以你要系统的学习Spark就需要掌握Scala,对于在开发或生产环境中出现的问题能够很好的进行定位。包括Kafka、Flink等源码都是使用Scala编写的,所以学习Scala对于大数据开发非常必要。

在大数据生态圈中使用Scala API的开发速度很快,Java也可以开发但是代码量太多。

Scala安装

1.确保您已安装JDK8

如果尚未安装,请下载安装并配置环境变量,这里就不在多说。

2.下载

官网:https://www.scala-lang.org/

点击DOWNLOAD

选择之前的发行版本

选择Scala 2.11.8,然后选择对应操作系统版本的安装包进行下载

我这里是用的windows,选择的是scala-2.11.8.zip

3.解压

将下载的安装包解压到相应目录。

4.配置系统环境变量

win 10 为例

桌面 此电脑 右键 属性->高级系统设置->环境变量->系统变量

新建

变量名:SCALA_HOME

变量值:C:\development\scala-2.11.8

Path 追加

%SCALA_HOME%\bin

Hello World范例

以下是用Scala编写的典型Hello World程序:

 object HelloWorld extends App {
   println("Hello, world!")
 }

 object HelloWorld {
   def main(args: Array[String]) {
     println("Hello, world!")
   }
 }

请注意它与Java的Hello World应用程序有哪些相似之处。一处显著区别在于,Scala版的Hello World程序不通过static关键字把main方法标记为静态方法,而是用object关键字创建了单件。

假设该程序保存为HelloWorld.scala文件,接下来可以通过以下命令行进行编译:

> scalac HelloWorld.scala

若要运行:

> scala -classpath . HelloWorld

这与编译和运行Java的“Hello World”程序是不是很像呢?事实上,Scala的编译和执行模型与Java是等效的,因而它也兼容于Java的构建工具,比如Ant.

直接使用Scala解释器也可以运行该程序,使用选项-i(从文件加载代码)和选项-e(若要运行额外的代码,就得实际执行HelloWorld对象的方法)即可:

> scala -i HelloWorld.scala -e ‘HelloWorld.main(null)‘

原文地址:https://www.cnblogs.com/yanceyy/p/11929322.html

时间: 2024-10-20 10:36:29

Scala概述的相关文章

Scala 概述+scala安装教程+IDEA创建scala工程

Scala概述 1.1.什么是Scala Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序. 1.2.为什么要学Scala 1.优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验. 2.速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快:Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多. 能

Scala系统学习(一):Scala概述

Scala是可扩展语言的缩写,是一种混合功能编程语言. 它由Martin Odersky创建. Scala顺利整合面向对象和函数式语言的功能. Scala被编译后在Java虚拟机上运行. 许多现有公司依靠Java进行关键业务应用转向或正在转向Scala,以提高其开发生产力,应用程序可扩展性和整体可靠性. 在这里,我们提出了一些要点,说明为什么Scala成为应用程序开发人员的首选. Scala是面向对象语言Scala是一种纯粹的面向对象语言,每一个值都是一个对象. 对象的类型和行为由类和特征描述,

Scala学习笔记(一)编程基础

强烈推荐参考该课程:http://www.runoob.com/scala/scala-tutorial.html 1.   Scala概述 1.1.  什么是Scala Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序. 1.2.  为什么要学Scala 1.优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验. 2.速度快:Scala

Scala简述、安装scala以及集成开发环境Scala Eclipse

一.Scala概述 可拓展 ?面向对象 ? 函数式编程 兼容JAVA ? 类库调用 ? 互操作  语法简洁 ? 代码行短 ? 类型推断 ? 抽象控制 静态类型化 ? 可检验 ? 安全重构 支持并发控制 ? 强计算能力 ? 自定义其他控制结构 二.安装scala IDE Eclipse(原生支持,使用比较复杂) IntelliJ(价格昂贵) NetBeans(程序可靠但插件笨重) CMD 通过CMD调用Scala解释器 方便.简单,易上手 运行环境:win7+jdk7+scala2.11.6 1.

一、scala基本入门

[TOC] 一.scala概述 1.1 简介 ? scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性.Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序.它也能运行于CLDC配置的Java ME中.目前还有另一.NET平台的实现,不过该版本更新有些滞后.Scala的编译模型(独立编译,动态类加载)与Java和C#一样,所以Scala代码可以调用Java类库(对于.NET实现则可调用.NET类库). 1.2 scala安装和配置 ? sc

尚硅谷大数据技术之Scala(韩顺平)

第一章:Scala概述 一.Scala背景 大数据三个问题 1.数据采集 2.数据存储(HBase) 3.数据计算(Spark,Flink,Mapreduce……).计算分两种 1.离线计算:MapReduce: 2.实时计算:Spark(内存级大数据计算框架) Scala是多范式编程语言,多种编程方式 1.面向对象 2.函数式 Scalable Language Spark的兴起带动了Scala 发明者Martin Odersky主写Java 1.5与Java8编译器,从Pizza和Scala

Scala基本语法及操作、程序控制结构

一.Scala概述 Scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性. scala运行在虚拟机上,并兼容现有的Java程序. Scala源代码被编译成java字节码,所以运行在JVM上,并可以调用现有的Java类库. 二.基本语法 1.区分大小写 2.类名首字母大写(MyFirstScalaClass) 3.方法名称第一个字母小写(myMethodName()) 三.数据类型:与JAVA相同 1.多行字符串表示方法: 2.Scala的变量 使用val定义的变量值是不可变的

大数据hadoop从入门到精通

前言:? 一.背景介绍? 二.大数据介绍正文:? 一.大数据相关的工作介绍? 二.大数据工程师的技能要求? 三.大数据学习规划? 四.持续学习资源推荐(书籍,博客,网站)? 五.项目案例分析(批处理+实时处理) 前言一.背景介绍本人目前是一名大数据工程师,项目数据50T,日均数据增长20G左右,个人是从Java后端开发,经过3个月的业余自学成功转型大数据工程师.附上本人参考学习视频:参考学习视频:https://pan.baidu.com/s/1SnaWp_ls0V3Z_CgmhGkT7Q二.大

进阶指南|三个月大数据工程师学习计划

申明:本文旨在为普通程序员(Java程序员最佳)提供一个入门级别的大数据技术学习路径,不适用于大数据工程师的进阶学习,也不适用于零编程基础的同学. 前言 一.背景介绍 本人目前是一名大数据工程师,项目数据50T,日均数据增长20G左右,个人是从Java后端开发,经过3个月的业余自学成功转型大数据工程师. 很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干