前言

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. 邓_thinkphp口试

    描述php框架开发 通过提供一个开发Web程序的基本架构,PHP开发框架把PHPWeb程序开发摆到了流水线上.换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为 ...

  2. 为什么要进行URL编码

    我们都知道Http协议中参数的传输是"key=value"这种简直对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割.如"?name1=value1&a ...

  3. <%=pageCount %>

    <%=pageCount %>,这里是指获取页面控件的值.

  4. linux 硬软链接区别

    linux 硬软链接区别 linux的软连接(symbolic link or soft link)类似于windows的快捷方式:而硬链接(hard link)机制有点像copy,不过不同的是,带有 ...

  5. CCF系列之最优灌溉(201412-4)

    试题编号:201412-4试题名称:最优灌溉时间限制: 1.0s内存限制: 256.0MB 问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来 ...

  6. Hyperledger Fabric Membership Service Providers (MSP)——成员服务

    Membership Service Providers (MSP) 本文将介绍有关MSPs的设置和最佳实践的详细方案. Membership Service Providers (MSP)是一个旨在 ...

  7. python环境搭建--pycharm的安装及使用

    学习网址: --菜鸟教程(2.0和3.0) http://www.runoob.com/python/python-tutorial.html http://www.runoob.com/python ...

  8. _0_web_基础

    创:18_3_2017修:20_3_2017 什么是前端? --在浏览器中展示内容以及处理请求 什么是浏览器? --一款能将网页内容展现给用户查看,并且让用户与网页交互的软件 什么是内核? --渲染引 ...

  9. Traits技法

    扮演"特性萃取机"角色,萃取各个迭代器的特性(迭代器的相应类型) 模板特例化:提供一份template定义式,而其本身仍为templatization 通过class templa ...

  10. windows下使用Git Bash命令行克隆远程仓库代码

    此处使用的代码托管平台是GitLab,相比GitHub来说,它可以设置免费的私有仓库,哈哈,妈妈再也不用担心我的源码泄露了!1.切换到本地的工作目录,我的目录是: cd /d/coder/websit ...