写点什么

写给 Java 开发者的新 Scala 教材

  • 2008-01-31
  • 本文字数:984 字

    阅读完需:约 3 分钟

Scala 继续制造着新闻,又添了两个更多的教材系列,一个是由 IBM developerWorks 的 Ted Neward 所编写的,另一个是由 Daniel Spiewak 所写的博文。

Neward 的教材系列刚刚开始,它是为忙碌的 Java 开发者所准备的 Scala 指南。上个星期,第一部分《面向对象的函数编程》已经发表了。Spiewak 在一月初也开始了他的《针对Java 难民们的Scala》系列,他的第四部分《模式匹配和异常处理》在1 月30 日也已经发表了。

Scala 新闻最近占据了不少“版面”(参见 InfoQ 的讨论摘录),而 Neward 文章以“Java 正日渐苍老”作为开始章节,尤其参照摩尔定律而言。

实际上,业界有许多东西都与摩尔定律显著相关。自 2002/2003 年起,在微处理器界增长趋势导致多“核”CPU 的产生:其实是包含多 CPU 的单个芯片。这回避了摩尔定律(CPU 速度每 18 个月翻一番)。让多线程环境同时在两个 CPU 上执行,而不是标准的在单 CPU 上进行时间片循环,这就意味着如果代码要工作正确,在线程安全方面就必须象岩石般结实。……并发处理是真正要关心的问题,一些新的语言提供了强大的功能作为响应,但是太多的社团和企业记得从 C++ 移植到 Java 平台仅仅只有 10 年时间。转移到一个新的平台是一种风险,对于这种风险许多公司甚至没有认真考虑。实际上,许多公司仍然在疗养上次迁移到 Java 平台所造成的伤疤。

Neward 的教材提供了对函数概念的概览,接着讨论了 Scala 怎么提供函数并用闭包进行包装。Spiewak 的系列更长,涉及了更多细节。他将目标锁定在那些经验丰富的 Java 开发者身上,这些开发者听到了动态语言的喧哗,但是却担心将动态类型用于构建企业级应用会产生不好的效果。

好消息是人们看到了曙光。有一门新的语言出现了,它如暴风雨般席卷了开发者世界。Scala 看起来提供了你曾苦苦寻找的一门语言应具有的一切:静态类型、编译至字节码(这样你可以在所有旧的 Java 服务器上运行它)、简洁及表现力丰富的语法。……你可以用 Scala 编写你的 Java 应用程序。你需要的仅仅是正确的引导。

在第一篇文章中,Spiewak 以一个简单的 Hello World 例子开始,一直覆盖到迭代和内置类型。在他的第二篇文章中涉及了面向对象概念,包括类、抽象方法以及构造器。他的第三篇文章深入到了访问限制、方法重载以及 Scala 的静态方式。他的最近一篇文章涉及到了模式匹配、case 语句以及异常处理。

查看英文原文: New Scala Tutorials for Java Developers

2008-01-31 23:591891
用户头像

发布了 150 篇内容, 共 51.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

vivo 云原生容器探索和落地实践

vivo互联网技术

机器学习 AI 容器 云原生 k8s

web前端经典react面试题

beifeng1996

React

数据库原理及MySQL应用 | 日志管理

TiAmo

数据库 日志 12月月更

百度工程师带你探秘C++内存管理(ptmalloc篇)

百度Geek说

c++ Linux 内存管理 12 月 PK 榜

最新前端面试总结

loveX001

JavaScript

ClassLoader 隔离性的基石是namespace,证明给你看

小小怪下士

Java 程序员 面试

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

跨平台应用开发进阶(二十四) :uni-app实现文件下载并保存

No Silver Bullet

uni-app 12月月更 文件下载 文件保存

promise执行顺序面试题令我头秃,你能作对几道

loveX001

JavaScript

老生常谈React的diff算法原理-面试版

beifeng1996

React

程序员职场晋升:与阿里前P9的一次近距离互动

博文视点Broadview

Dubbo架构设计与源码解析(一) 架构设计

京东科技开发者

云原生 dubbo Java、 架构设计 分布式架构

NeurIPS 2022:基于语义聚合的对比式自监督学习方法

华为云开发者联盟

人工智能 华为云 论文 12 月 PK 榜

版本更新 | Towify V1.24.0 有哪些实用新功能?汇总来了!

Towify

跨平台应用开发进阶(二十六) :忐忑悲壮路,心酸出坑史——记第一次iOS艰辛上架路

No Silver Bullet

uni-app iOS上架 12月月更 问题汇总

2022 阿里灵杰AI开发者峰会内容抢先看!

阿里云大数据AI技术

人工智能 阿里云

如何配置分享到微信功能?

Towify

微信小程序 无代码 触发器

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

DevData Talks | 大咖集结『研发效能答疑专场』即将开始!

思码逸研发效能

研发管理 研发效能 研发管理工具

跨平台应用开发进阶(二十五) :uni-app实现IOS云打包解决IOS提交审核相册等隐私描述语导致审核失败问题

No Silver Bullet

uni-app 12月月更 IOS云打包 提交审核 隐私描述语

架构实战营 - 模块 2- 作业

zealot0317

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

三次握手与四次挥的问题,怎么回答?

loveX001

JavaScript

关系型数据库设计三大范式

京东科技开发者

关系型数据库 数据库设计 范式 冗余 数据库·

数据可视化图表系列解析——柱状图

Data 探险实验室

数据分析 可视化 数据可视化 BI 分析工具 可视化数据

问:React的setState为什么是异步的?

beifeng1996

React

前端leetcde算法面试套路之树

js2030code

JavaScript LeetCode

如何使用 Towify 在小程序中实现勾选用户协议后登录?

Towify

微信小程序 无代码 触发器

前端面试比较好的回答

loveX001

JavaScript

教你用JavaScript完成简易贪吃蛇小游戏

小院里的霍大侠

JavaScript 编程开发 实战案例 初学者 入门实战

写给Java开发者的新Scala教材_Java_Rob Thornton_InfoQ精选文章