Scala教程
Scala表示可扩展性语言,是一种混合函数式编程语言。它是由Martin Odersky创建,并于2003年首次发布。
Scala平滑地集成面向对象和函数式语言的特点,并且Scala被编译在Java虚拟机上运行。许多现有的企业依赖于Java的关键业务应用,正在转向Scala以提高他们的开发效率,应用程序的可扩展性和整体可靠性。
下面是Scala应用开发者首选的重要特征列表。
Scala是面向对象:
Scala的每一个值都是一个对象,它是意义上的纯面向对象语言。对象的类型和行为特征将在以后的章节解释说明。类由子类,并作为一种干净替代多重继承,灵活基于mixin组合机制扩展。
Scala是函数:
Scala的每一个函数为一个值,因为每个值是一个对象,因此最终每一个功能都是一个对象意义上的函数。
Scala提供了一个轻量级的语法用来定义匿名函数,支持高阶函数,它允许函数嵌套,并支持curry处理。这些概念将在以后的章节中解释。
Scala是静态类型:
Scala不像其他一些静态类型语言,并不期望提供冗余类型信息。不必在大多数情况下指定类型,当然也不需要重复。
Scala在JVM上运行:
Scala被编译成由Java虚拟机(JVM)执行的Java字节码。这意味着,Scala和Java可在一个共同的运行平台。可以轻松地从Java代码移动到Scala。
Scala编译器编译Scala代码转换为Java字节码,可以通过scala命令执行。Scala的命令类似于java命令,因为它可以执行编译Scala代码。
Scala可以执行Java代码:
Scala可以使用在Java SDK的Scala中的所有类,也是自定义Java类或者Java开源项目。
Scala vs Java:
Scala有一组功能,它不同于Java。其中一些功能是:
所有类型的对象。
类型推测。
嵌套函数。
函数是对象。
领域特定语言(DSL)的支持。
特质。
闭包。
并发支持灵感来自Erlang。
Scala Web框架:
Scala被到处用于企业Web应用程序。可以查看最流行的几个Scala中 Web框架:
Scala教程的更多相关文章
- 如何在Ubuntu上配置scala教程
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言 .并集成面向对象和函数式变成的各种特性.这里为了学习spark特地配置了scala. 1.下载scala安装包 ...
- 给Java开发者的Scala教程
author:Michel Schinz,Philipp Haller 1. 简介 本文将该要的介绍Scala语言和其编译.这里假设读者已经有一定的java开发经验,需要概要的了解他们可以用Scala ...
- Scala学习笔记之二--基本数据类型
前言 本篇主要讲Scala的基本数据类型,更多教程请参考:Scala教程 基本数据类型 Scala一共提供了9中数据类型,Scala的基本数据类型与java中的基本数据类型是一一对应的,这是Scala ...
- Scala HandBook
目录[-] 1. Scala有多cool 1.1. 速度! 1.2. 易用的数据结构 1.3. OOP+FP 1.4. 动态+静态 1.5. DSL 1.6 ...
- 使用scala开发spark入门总结
使用scala开发spark入门总结 一.spark简单介绍 关于spark的介绍网上有很多,可以自行百度和google,这里只做简单介绍.推荐简单介绍连接:http://blog.jobbole.c ...
- Scala入门学习笔记四--List使用
前言 本篇将介绍一个和Array很相似的集合List,更多内容请参考:Scala教程 本篇知识点概括 List的构造 List与Array的区别 List的常用方法 List伴生对象的方法 ::和:: ...
- Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
- 编程语言教程书该怎么写: 向K&R学习!
原文地址:Lax Language TutorialsAndrew Binstock 每年在评审Jolt Awards图书的时候,我都会被一些语言教程类图书弄得心力交瘁.从这些年的评审经验来看,这些语 ...
- 用scala的actor并发编程写一个单机版的WorldCount
前言:最近一段时间比较忙,也是比较懒了吧,好长时间没写博客了,新的一年到来,给自己一个小目标,博客坚持写下去,分享一下这历程!废话不多说,开始正题咯(希望大家喜欢!) 首先这算是一个scala程序的入 ...
随机推荐
- HighCharts学习笔记(一)HighCharts入门
一.HighCharts简介 Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站 ...
- php引入lucene方法
在引入Lucene之前,先说下PHP JAVA Bridge的概念: PHP JAVA Bridge:就是在PHP和Java之间搭建一座桥梁,利用这座桥梁在这两个实体之间建立起一个沟通渠道,在这座桥梁 ...
- git alias和gitconfig配置
[alias] st = status -sb co = checkout br = branch mg = merge ci = commit ds = diff --staged dt = dif ...
- Java多线程编程核心技术---单例模式与多线程
立即加载/饿汉模式 立即加载就是使用类的时候已经将对象创建完毕. public class MyObject { //立即加载方式==饿汉模式 private static MyObject myOb ...
- Media Wiki
https://www.mediawiki.org/wiki/Help:Images/zh https://www.mediawiki.org/wiki/Manual_talk:Image_admin ...
- weblogic 的安装和配置
一.安装 1.1安装weblogic8.1 首先从www.bea.com上下载安装文件platform816_linux32.bin,然后在安装文件所在目录下键入 ./platform816_linu ...
- linux下如何使用sftp命令【转】
linux下如何使用sftp命令 from: http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html sftp 是一个 ...
- 如何使用jquery - ui 的图标icons 及图标的相对位置 +jquerui是如何来显示图标的?
1. 只需要引入 jquery-ui 的主css文件: jquery-ui.css 文件?? 不需要 引入 jquery-ui-structure/theme.css文件??? ,,,,, 2. 一定 ...
- 关于php cgi的配置
http://blog.csdn.net/xiaolei1982/article/details/7103850 1,查看php-cgi的进程数 netstat -anpo | grep " ...
- Emacs配置文件
;;tab and space;;when true,emacs use mixture of tab and space to archieve(setq-default indent-tabs-m ...