zoukankan      html  css  js  c++  java
  • scala记录(0)介绍

    Scala介绍:

    Scala是一门多范式的编程语言,一种类似java的编程语言 [1]  ,设计初衷是实现可伸缩的语言 [2]  、并集成面向对象编程和函数式编程的各种特性。

    scala是基于Jvm的,完美兼容Java,是脚本类语言,但为什么说是脚本类语言呢,因为它运行过程如下:

    源码 - scalac(编译) - *.class字节码 - scala - Jvm上 -running
    先编写源码,源码属于Scala的脚本,Scala脚本语法和Java完全不一样,例如:Java定义变量是需要数据类型的,而Scala可以不定义,也可以定义,但有些地方也必须让你定义数据类型

    Scala运行也和Java不一样,它写完的东西生成的都是.class但是使用Javac不能编译Scala源码的,必须使用它自己的Scalac编译,编译后生成的class代码使用Scala和Java都可以,使用Java的话,ClassPath中必须包含Scala运行时的类库。

    做大数据为什么要学习Scala?

    因为Spark是由Scala写的,虽然也支持Java、Python、R语言。

    从学习的成本来说,Scala代价是最高的,最难学的,最容易的是R,但是笔者也没看过。

    Scala好处:

    从生产能力来说,这些语言的代码量都很小,写很短的代码完成复杂的功能,因为他们都是函数式编程语言,

    从资源和第三方类库比较式Python、R、Scala,Scala太难学,一般没什么人用Scala开发第三方类库的,

    但是Scala有一个好爸爸,就是Java,因为Java中的类库远远要比其他要多,因为它的社区式最庞大的,也没有这样的必要用Scala再去把Java写过的类库再写一遍,因为Scala本身就可以不经过任何步骤并使用Java类库。

    从文档和社区来说,单说Scala比其他都比较差,但是从平台执行速度Scala是最快的,因为Scala就是在Jvm之上的,Jvm执行速度和C++的速度是不相上下的。

    Spark最好的集成的语言就是Scala,因为使用的Scala开发的Spark。

    在Spark的编程中,最好的考虑就是Scala,如果Spark出现一个新功能第一个支持的就是Scala,其次再是Python和R,因为还要让Python再去开发才行,如果想使用新特性,就要首先选择Scala。

    Scala官网6个特征。

          1).Java和scala可以混编

          2).类型推测(自动推测类型)

          3).并发和分布式(Actor)

          4).特质,特征(类似java中interfaces 和 abstract结合)

          5).模式匹配(类似java switch)

          6).高阶函数

  • 相关阅读:
    ADB命令大全
    Backup your Android without root or custom recovery -- adb backup
    Content portal for Pocketables Tasker articles
    Is there a way to detect if call is in progress? Phone Event
    Tasker to proximity screen off
    Tasker to detect application running in background
    Tasker to create toggle widget for ES ftp service -- Send Intent
    Tasker to proximity screen on
    Tasker to answer incoming call by pressing power button
    Tasker to stop Poweramp control for the headset while there is an incoming SMS
  • 原文地址:https://www.cnblogs.com/kpsmile/p/10371706.html
Copyright © 2011-2022 走看看