Scala简单介绍

Scala(Scala Language的简称)语言是一种能够执行于JVM和.Net平台之上的通用编程语言。既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发。2004年開始程序执行在JVM与.Net平台之上。由于其简洁、优雅、类型安全的编程模式而受到关注。 
Scala的创建者——Martin Odersk

在Scala的创建之初,并没有怎么引起重视,随着Apache Spark和Apache Kafka这样基于Scala的大数据框架的崛起,Scala逐步映入大数据从业者的眼帘。

Scala的拥护者们觉得Scala的主要优势是速度和它的表达性。眼下使用scala的作为支撑公司开发语言的包含Foursquare和Twitter。2009年Twitter把大部分后台系统的开发语言从Ruby换成了Scala。參见这篇文章:Twitter on Scala: A Conversation with Steve Jenson, Alex Payne, and Robey Pointer,” Scalazine, April 3,2009, www.artima.com/scalazine/articles/twitter_on_scala.html.

Scala语言具有例如以下特点:

1 纯面向对象编程语言

  • (1) Encapsulation/information hiding.
  • (2)Inheritance.
  • (3)Polymorphism/dynamic binding.
  • (4)All predefined types are objects.
  • (5) All operations are performed by sending messages to objects.
  • (6)All user-defined types are objects.

2 函数式编程语言 
定义:Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data.

函数式编程语言应支持以下特性: 
(1)高阶函数(Higher-order functions) 
(2)闭包( closures) 
(3)模式匹配( Pattern matching) 
(4)单一赋值( Single assignment ) 
(5)延迟计算( Lazy evaluation) 
(6)类型推导( Type inference ) 
(7)尾部调用优化( Tail call optimization) 
(8)类型推导( Type inference )

3 Scala语言具有非常强的兼容性、移植性 
Scala执行于JVM上,能够与JAVA进行互操作,具有与JAVA一样的平台移植性

Scala安装教程

厦门大学数据库实验室 http://dblab.xmu.edu.cn/blog/929-2/

大数据spark学习第一周Scala语言基础的更多相关文章

  1. 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习

    下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...

  2. Spark大数据的学习历程

    Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言).Spark支持Java编程,但对于使用Java就没有了Sp ...

  3. Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark实战高手之路】

    Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交 ...

  4. 王家林 大数据Spark超经典视频链接全集[转]

    压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...

  5. 《大数据Spark企业级实战 》

    基本信息 作者: Spark亚太研究院   王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:20 ...

  6. 如何成为云计算大数据Spark高手

    Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手. ...

  7. 大数据Spark超经典视频链接全集

    论坛贴吧等信息发布参考模板 Scala.Spark史上最全面.最详细.最彻底的一整套视频全集(特别是机器学习.Spark Core解密.Spark性能优化.Spark面试宝典.Spark项目案例等). ...

  8. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  9. 以某课网日志分析为例 进入大数据 Spark SQL 的世界

    第1章 初探大数据 本章将介绍为什么要学习大数据.如何学好大数据.如何快速转型大数据岗位.本项目实战课程的内容安排.本项目实战课程的前置内容介绍.开发环境介绍.同时为大家介绍项目中涉及的Hadoop. ...

随机推荐

  1. css后代选择器

    后代选择器: <p><em>CSS</em>层叠样式</p> 使用后代选择器设置,之间用空格隔开: p em{font-size:40px;} 例子: ...

  2. springdata笔记2

    SpringData整合hibernate CRUD操作: pom.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  3. iso系统镜像刻录到光盘和U盘

    使用UltraISO刻录 刻录U盘,点击文件,打开,选择镜像 启动,写入硬盘镜像选择U盘即可 刻录光盘 工具,刻录光盘映像,选择镜像,需要先插入光盘刻录机(有些电脑可能自带光驱盘,且有刻录功能,那么我 ...

  4. Linux进程调度与抢占

    一.linux内核抢占介绍 1.抢占发生的必要条件 a.preempt_count抢占计数必须为0,不为0说明其它地方调用了禁止抢占的函数,比如spin_lock系列函数.b.中断必须是使能的状态,因 ...

  5. What’s New In GRANDstack?

    转自:https://blog.grandstack.io/whats-new-in-grandstack-310c067fea4a There’s been a lot of activity in ...

  6. Dynamics CRM Publisher

    如果你想创建并且部署一个solution(解决方案),你需要创建一个publisher. 当准备创建一个solution并且创建entity field, relationship在这个solutio ...

  7. 安装phpssdbadmin

    1:先安装nginx+php   参考博文:http://www.cnblogs.com/lemon-le/p/7161356.html 里面有详细的搭建lnmp架构,这里只需参照安装php和ngin ...

  8. centos 使用RPM包安装指定版本的docker-engine

    下面是拿安装docker-engine-1.10.3-1为例: wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docke ...

  9. ThreadLocal的学习

    一 用法ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量.1.Threa ...

  10. googletest--Death Test和Exception Test

    Death Test验证某个状态会使进程以某个错误码和错误消息离开 #include <gtest\gtest.h> #include "MyStack.h" // D ...