scala学习
前言
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学习的更多相关文章
- Scala学习资源
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...
- 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习
下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...
- 机器学习(三)--- scala学习笔记
Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...
- 【Scala】Scala学习资料
Scala学习资料 java 树形 分类器_百度搜索 决策树分类器-Java实现 - CSDN博客 KNN分类器-Java实现 - CSDN博客 学习:java设计模式—分类 - 飞翔荷兰人 - 博客 ...
- Scala学习网址
scala学习网址为:https://twitter.github.io/scala_school/zh_cn https://www.zhihu.com/question/26707124
- Spark之Scala学习
1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- Scala学习笔记及与Java不同之处总结-从Java开发者角度
Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续 ...
- Scala学习(一)
最近在学习Scala,总结了一下比较基础的知识. 一.Scala简介 1.Scalable Language,是一门多范式的编程语言,是一种纯面向对象的语言,每个值都是对象. 2.特点:①Scalab ...
- scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类
一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person ...
随机推荐
- TP框架自带的正则验证的规则
thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint? 01 static $reg ...
- robots书写说明:
"User-Agent"搜索引擎的名字. 针对所有搜索引擎写法:User-Agent: *,针对百度搜索引擎写法:User-Agent:Baiduspider "Allo ...
- Win7如何解决telnet不是内部或外部命令的方案!听语音
Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少现场操作的麻烦.因为设备或终端是遍布整个省或市,有的甚至是国外,如何高效的处理问题是当务之急,除了telnet还可以ssh使用c ...
- linux 下 tomcat 安装
下载 根据已安装的jdk版本选择合适的版本,否则不兼容 https://tomcat.apache.org/whichversion.html 选择合适的压缩包 源码 二进制:已针对固定的操作系统和机 ...
- mysql 两个时间段的差,可以是秒,天,星期,月份,年...
SELECT TIMESTAMPDIFF(SECOND, now(), "2012-11-11 00:00:00") 语法为:TIMESTAMPDIFF(unit,datetime ...
- java.lang.NoClassDefFoundError: javax/mail/Authenticator
摘录自:http://stackoverflow.com/questions/1630002/java-lang-noclassdeffounderror-javax-mail-authenticat ...
- Linux - 在Ubuntu下永久修改主机名
查看主机名 root@jiqing:~# hostname jiqing 1.临时生效 root@jiqing:~# hostname jq root@jiqing:~# hostname jq 重新 ...
- linux_通配符
通配符和正则表达式区别? 通配符用在用户命令行bash环境,而正则表达式用于linux三剑客(awk, sed, grep) 那,有哪些通配符? * 所有字符 五星 ls *.txt # 列举目 ...
- Request和Response
1 简介 web服务器收到客户端的http请求,会针对每一个请求,分别创建一个用于代表请求的request对象和代表响应的response对象. request和response对象既然代表请求和响应 ...
- 【转】Linux shell笔记
由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...