前言

Bruce Eckel在吐槽Java,一是本身的不合理的地方太多,二是Oracle的商业目的导致Java的发布显得有点仓促,许多地方存在不合理,这样便加速了Java的不合理。此外,Bruce提到,Scala很大程度上虽Java进行了改良,加上Java在大数据领域的广泛使用,于是我便抱着好奇的心态开始了Scala之旅。

学习的历程

  • 首先 , 我在几个月之前就关注了Bruce的的新书 《Scala Atom Second Edition》 。记得第一次看到这种语法,完全是懵逼的状态,后来,虽然尝试去接触和学习,但是始终不得要领。

    昨天, 我有空得以关注Bruce Eckel的新书,发现他著作了 《On Java 8》这本新书, 针对JDK8进行了深入地分析和描述。但是,他在相关的公开会议上反复提到,Java这门语言应该被替代,Java的缺点实在实在是太多了。而且,Bruce特别提到,这是他在Java领域的Final Work。接着,我在Youtube上搜了一下Bruce Eckel的相关视频,其中便有他在一个Conference上对《Scala Atom Second Edition》这本书的一个多小时的讲解, 其中, 看我得以了解他本人对待编程这件事情的一种态度,颇令人敬畏。

  • 在前面的基础上,我有了一个很大的兴趣,这促使我想要立刻掌握这门语言,而且,有了Java的语言基础,本身就有一定的优势,既然如此,就没有什么好犹豫的。

  • 接着,我尝试打开 Scala官网 ,从中我看到了 start 章节,我参照上面所描述的步骤,进行了相关的实践。首要的问题时使用IDEA工具的时候涉及到Scala Plugin问题,这是在IDEA 2017.3.2版本发布时同步发布的。而我的Pc上所安装的IDEA版本是一年前的2016.3.6版本,我尝试安装了Scala插件,但是后续的安装sbt步骤却显得异常的艰难和缓慢,坦诚的说,过了好长时间进度条没有看到任何的进展。这让我有点失望,我开始怀疑是不是和iDEA的版本有关,而Scala官网上提供了IDEA的官网链接,我点击之后进去下载了2017.3.2版本。下载下来安装之后,感觉新版本还是有不少变化,性能上得以优化,功能得以增加,同时变得更加的人性化。比如,2016版本的IDEA重启软件之后只会打开关闭前的一个Module,而2017版本会打开全部Module。

scala学习的更多相关文章

  1. Scala学习资源

    Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...

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

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

  3. 机器学习(三)--- scala学习笔记

    Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...

  4. 【Scala】Scala学习资料

    Scala学习资料 java 树形 分类器_百度搜索 决策树分类器-Java实现 - CSDN博客 KNN分类器-Java实现 - CSDN博客 学习:java设计模式—分类 - 飞翔荷兰人 - 博客 ...

  5. Scala学习网址

    scala学习网址为:https://twitter.github.io/scala_school/zh_cn https://www.zhihu.com/question/26707124

  6. Spark之Scala学习

    1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...

  7. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  8. Scala学习笔记及与Java不同之处总结-从Java开发者角度

    Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续 ...

  9. Scala学习(一)

    最近在学习Scala,总结了一下比较基础的知识. 一.Scala简介 1.Scalable Language,是一门多范式的编程语言,是一种纯面向对象的语言,每个值都是对象. 2.特点:①Scalab ...

  10. scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类

    一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person ...

随机推荐

  1. Spark高可用集群搭建

    Spark高可用集群搭建 node1    node2    node3   1.node1修改spark-env.sh,注释掉hadoop(就不用开启Hadoop集群了),添加如下语句 export ...

  2. eclipse导入web项目变成java项目解决办法

    右键工程,properties-> Project Facets-> 点convert to faceted..连接 -> 把Dynamic Web Moudle勾上

  3. Jmeter下载时Binaries和Source两类包的区别

    在下载Jmeter时,存在两种类型的下载包,分别为Binaries和Source: 一般开放原代码软件都会有两个版本发布: Source Distribution 和 Binary Distribut ...

  4. C# 处理Word自动生成报告 三、设计模板

    C# 处理Word自动生成报告 一.概述 C# 处理Word自动生成报告 二.数据源例子 C# 处理Word自动生成报告 三.设计模板 C# 处理Word自动生成报告 四.程序处理 既然是模板就少不了 ...

  5. Django中url使用命名空间的错误

    出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) ...

  6. JavaScript小结

    语法小结 /** * Created by M.C on 2017/5/26. */ /*弹框*/ //var message = "Hello world"; //alert(m ...

  7. PHP7.1 报错 Warning Illegal string offset

    报错如下: Warning: Illegal string offset '阿根廷' in F:\wnmp\www\test.php on line 24 Warning: Illegal strin ...

  8. JS 中的this指向问题和call、apply、bind的区别

    this的指向问题 一般情况下this对象指向调用函数的对象,全局环境中执行函数this对象指向window. function a(){ console.log(this); //输出函数a中的th ...

  9. js内置函数大全及基本使用方法(一)

    一,常规函数 alert函数:显示一个警告对话框,包括一个OK按钮. 语法:alert("hello world"); confirm函数:显示一个确认对话框,包括OK.Cance ...

  10. LAMP_yum安装

    前言,人总是会越来越懒,说真的,我是摸着良心说话的 开始总是喜欢源码安装,因为可以定制,而且能显得有格调(逼格),但是一安装就要半天,还有各种依赖包的安装,各种报错,不忍直视 下面是我摘自晚上的一篇l ...