热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

写给Java老司机的Scala教程——ScalaFastTrack

引子如果说有什么编程语言让我觉得收获颇大的话,我想除了Java那么另一个就是Scala,Java教会了我工程和严谨,而Scala则进一步的

引子

如果说有什么编程语言让我觉得收获颇大的话,我想除了 Java 那么另一个就是 Scala,Java 教会了我工程和严谨,而 Scala 则进一步的给了我耳目一新的思维模式,并提高了我对OOP的认识,反过来,Scala的习得,也让我成为了一个更好的Java程序员。

背景

我写这个系列教程,除了分享我自己学习Scala的一些心得体会之外,并不是要特别的安利大家Scala。而我其实比较愚钝,所以我学习Scala 的时候走了不少弯路,记得当时还是 Scala 2.10,然后各种学习资料不是特别完善,然后就坑爹了。我为了学习Scala ,学习了 Clojure、Erlang、Elixir 和 Haskell等语言,其实吧,还是很难的,几乎所有的Scala书都看过了,结果呢,还是花了好长好长时间才真的产生从生产力。

有了这个经验,我就特别希望能够分享自己的这部分经验,让大家如果对Scala 感兴趣,可少走弯路,如同本文的标题——Scala 快车道,让各位老司机可以快速上车。

我们的列车发到什么地方?

首先,这个系列不会包含太多 FP 的内容,但是会全面的覆盖 Scala 的 OO 部分,其次,不会对很多 Scala 编译器 或者 Dottty 在某些语言特性在编译层的在不同的 Scala 版本具体是如何生成字节码的,并且进行解析,即,我们不会讨论到字节码层面。再者,本系列不会讨论到的还有 Typelevel Programming 以及 Scala macro 等 meta programming 之类的内容。最后,本系列不会对SBT(Scala的简单构件工具)进行深究,因为,我们的目的是快速上车。

所以,本系列的核心部分:

  • 第一部分:Scala 简介,搭建环境以及Hello ATA
  • 第二部分:Scala 和 Java 的常见结构,语法方面的一比一对比
  • 第三部分:Scala 和 Java 在 OO 方面特性一比一对比,包含具体的代码示例
  • 第四部分:Scala 和 Java 在 FP 方面的 一比一对比,包含具体的代码示例
  • 第五部分:Scala 在 高并发方面等方面的支持,给出一些最佳实践

本书将会把,FP 的高级讨论, Typelevel 相关的等高级主题放在以后的系列中,所以,Yes,快速上车吧.

发车车次

下面是具体的链接部分:

  • 第一部分:Scala 简介,搭建环境以及Hello ATA

    1. Scala 简介
    2. Scala 环境搭建和Hello ATA。
  • 第二部分:Scala 和 Java 的常见结构,语法方面的一比一对比
  • 第三部分:Scala 和 Java 在 OO 方面特性一比一对比,包含具体的代码示例
  • 第四部分:Scala 和 Java 在 FP 方面的 一比一对比,包含具体的代码示例
  • 第五部分:Scala 在 高并发方面等方面的支持,给出一些最佳实践



推荐阅读
  • rust编程这篇文章是关于我通过解决Twitch上尚未解决的所有CtCI问题来学习Rust的经验。英国科学博物馆集团AdaLovelace的肖像Rust徽标,由Moz ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 近期看见一篇来自Intel的很有意思的分析文章,作者提到在他向45名与会的各公司程序员开发经理战略师提问“什么是实施并行编程的最大障碍”时,下面五个因素 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • dataguard日志传输模式解析_SOFAJRaft 日志复制pipeline 实现剖析 | SOFAJRaft 实现原理
    SOFAStack(ScalableOpenFinancialArchitectureStack)是蚂蚁金服自主研发的金融级分布式架构,包 ... [详细]
  • 源码包安装RabbitMQ3.6
    先安装erlang依赖,也是门编程语言,下载源码包地址:https:www.erlang.orgdownloads20.1首先先安装个依赖 ... [详细]
  • HTML5Canvas图像模糊如何解决
    本文主要和大家介绍HTML5Canvas图像模糊完美解决办法,需要的朋友可以参考下,希望能帮助到大家。1、最近在用h5的canvas画动画,发现图像 ... [详细]
author-avatar
只被你耐_396
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有