Scala之父Martin Odersky作序推荐的Scala速学版(第3版)出版

2024-09-01 09:04

本文主要是介绍Scala之父Martin Odersky作序推荐的Scala速学版(第3版)出版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Scala 是一个很有吸引力的选择。 Scala 的语法简洁, 跟 Java 的“陈词滥调”比起来让人耳目一 新。它运行在 Java 虚拟机(Java virtual machine ,JVM)上,提供对大量库和工具的访问。并 且,Scala 不仅仅瞄准 JVM。ScalaJS 项目可以生成 JavaScript 代码,使你能够使用非 JavaScript 语言同时编写 Web 应用程序的服务器端和客户端部分。 Scala 既拥抱了函数式编程风格, 又没 放弃面向对象编程,为你提供了一个通往新范式的渐进式学习路径。 Scala REPL 可以让你快 速地进行实验, 使得学习 Scala 变得非常愉快。最后但同样重要的是, Scala 是静态类型语言, 允许编译器发现错误,这样就不至于要等到程序运行起来之后才能发现这些错误, 造成时间 上的浪费。编译器还可以帮助你编写无错误的代码, 尽可能地推断类型, 这样就不必编写(或 读取)类型。

Scala之父Martin Odersky作序推荐的Scala速学版(第3版)

1.Scala之父Martin Odersky作序推荐,Scala入门好书,涵盖Scala 3,作者Java大神霍斯特曼;

2.开篇快速介绍Scala的基础功能。此外,它还涵盖了许多更“高级”的概念,并最终深入到非常高级的内容;

3.每章都标记了一个级别标签,告诉你本章的难易程度,以及它是面向应用程序员还是库设计者;

4.提供丰富的示例,还给出了大量注释、提示和警告,这些都是作者实际经验的总结,对编程实践大有裨益。

这是本书的第 3 版,作者针对 Scala 3 进行了全面的更新。Scala 3 为这门语言带来了重大变化。 通过移除尴尬的边界情况,经典特性变得更加规范,高级功能现在更容易学习,甚至还添加了 以前只能通过宏才能使用的更强大的功能。一种“安静语法”(类似于 Python 语法)看起来很 简单,现在已经成为编写 Scala 3 代码的首选方式。

作者写这本书是为那些迫不及待想马上开始用 Scala 编程的读者准备的。

Scala 语言因为难以阅读而出名, 当库的提供者不太关注可用性或者假定程序员对范畴论很 精通时,这当然是事实。我假定你熟悉面向对象编程, 本书涵盖了基本的函数式编程所需的内 容,在复杂性上与 Java 流类似,但事物总有两面性。我的目标是教你写出令人愉快的 Scala 代 码,而不是难以理解的代码。

Scala 是一门庞大的语言,但你可以在不了解所有细节的情况下有效地使用它。 Scala 之 父马丁 ·奥德斯基(Martin Odersky)为应用程序员和库设计者划分了不同的专业水平, 如下 表所示:

对于每一章(偶尔个别章节),我都会指出所需的经验级别,大致的递进顺序为 A1 、L1 、 A2 、L2 、A3 、L3。即使你不想设计自己的库,了解 Scala 为库设计者提供的工具也可以让你成 为更高效的库用户。

本书是一本系统地介绍Scala语言的入门图书,针对Scala 3进行了全面的更新,不仅覆盖了Scala语言的基础知识,而且涵盖了许多更复杂的概念,并最终深入到非常高级的内容。

本书共分20章,首先介绍了Scala语言的基础概念,以及控制结构和函数、数组操作、映射、Option、元组、类、对象和枚举、包、导入和导出、继承、文件和正则表达式等关键概念;其次介绍了特质、运算符、高阶函数、容器、模式匹配、注解、Future、类型参数、高级类型、上下文抽象和类型级编程等高级内容。每章都标记了一个级别标签,告诉你本章的难易程度,以及它是面向应用程序员还是库设计者。本书以紧凑的形式呈现内容,提供了许多实用的示例代码,还给出了基于作者实际经验的提示、注意和警告。

本书适合有一定编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。

关于作者

凯·S. 霍斯特曼(Cay S. Horstmann)是《Java核心技术速学版(第3版)》(Core Java for the Impatient, Third Edition)的作者,也是 Core Java, Volumes I and II, Twelfth Edition 的主要作者,他还为专业编程人员和计算机科学专业的学生撰写了十多本书。他是美国圣何塞州立大学计算机科学专业的荣誉退休教授,也是一名Java Champion。

本书目录

内容抢先读

编辑于 2024-08-27 07:57・IP 属地河北

这篇关于Scala之父Martin Odersky作序推荐的Scala速学版(第3版)出版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126505

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s