前言

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. PHP操作MySQL对表增加一列(一个字段)

    2014-03-19 16:59 1471人阅读 评论(0) 收藏 举报 分类: MySQL(12) 对于已经建立好的数据库,在一个已经有字段的表内新加字段可用以下方法: mysql_query(&q ...

  2. 正则API

    正则表达式:规定字符串中字符出现规律的公式 如果备选字符列表中个别字符之间是连续的,可用-省略中间的字符.比如: 匹配1位数字:   [0-9]匹配1位小写字母 : [a-z] 匹配1位大写字母 : ...

  3. MySQL Block Nested Loop and Batched Key Access Joins(块嵌套循环和批量Key访问连接)

    Block Nested-Loop and Batched Key Access Joins Batched Key Access (BKA) Join算法通过index和join buffer访问j ...

  4. eclipse怎么修改工作空间路径

    1.打开eclipse,在eclipse界面中的菜单栏中点击“文件”,如果您的eclipse是英文版,那么应该是file,打开后点击“切换工作空间" 2.如果您的eclipsehi英文版,则 ...

  5. react项目中遇到的坑

    1,touchStart和touchEnd 如果touchstart和touchend改变的是同一个state,那么在首次加载渲染的时候组件会陷入死循环,原因是touchstart会直接触发,但此时s ...

  6. Fragment禁止预加载

    项目中经常会用到ViewPager+Fragment组合,然而,有一个很让人头疼的问题就是,去加载数据的时候由于ViewPager的内部机制所限制,所以它会默认至少预加载一个. 1.既然说是ViewP ...

  7. JSP之JSTL_functions

    <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java ...

  8. python_9_集合

    什么是集合? --一种无序,没有重复元素的一种数据类型            -- 形式:   {元素1,元素2,......} 如何把一个列表变成一个集合? --set(列表)            ...

  9. Linux指令--tar,gzip

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...

  10. java.lang.Thread

    package java.lang; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java. ...