面向Java开辟人员的Scala指南 - 面向对象的函数编程[Java编程]
本文“面向Java开辟人员的Scala指南 - 面向对象的函数编程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在历史上,Java™ 平台一向属于面向对象编程的范畴,但是目前,乃至 Java 语言的刚强支持者也开始注意利用程序开辟中的一种新趋向:函数编程.在这个新的系列中,Ted Neward 介绍了 Scala,一种针对 JVM 将函数和面向对象技术组合在一同的编程语言.在本文中,Ted 将举例阐明您为什么应当花时间学习 Scala(比方并发),并介绍若何快速从中受益.
您永久不会忘掉您的初恋!
关于我来说,她的名字是 Tabinda (Bindi) Khan.那是一段高兴的少年光阴,精确地说是在七年级.她很漂亮、聪明,而最好的是,她常常因我的拙笨的笑话而乐不可支.在七年级和八年级的时间里,我们常常 “出去走走”(当时我们是这么说的).但到了九年级,我们脱离了,高雅一点的说法是,她厌倦了持续两年听到一样的拙笨的男孩笑话.我永久都不会忘掉她(分外是因为我们在高中毕业 10 周年集会时再次相遇);但更重要的是,我将永久不会失去这些贵重的(大概有点言过其实)回想.
Java 编程和面向对象是很多程序员的 “初恋”,我们对待它就像对待 Bindi 一样恭敬和完好的爱慕.一些开辟人员会奉告您 Java 将他们从内存管理和 C++ 的炼狱中解救出来了.其他一些人会奉告您 Java 编程使他们摆脱了对历程性编程的绝望.乃至关于一些开辟人员来说,Java 代码中的面向对象编程就是 “他们干事情的方法”.(嘿嘿,假如这对我爸爸,以及爷爷有效该多好!)
但是,时间终究会冲淡全部对初恋的记忆,生活仍旧在持续.感情已经变了,故事中的主角也成熟了(并且学会了一些新笑话).但最重要的是,我们四周的世界变了.很多 Java 开辟人员意识到固然我们深爱 Java 编程,但也应当抓住开辟范畴中的新机会,并理解若何操纵它们.
我将始终爱着你 ……
在近来五年中,对 Java 语言的不满情感渐渐增添.固然一些人大概认为 Ruby on Rails 的发展是主要因素,但是我要辩论的是,RoR(被称为 Ruby 专家)只是后果,而非缘由.大概,可以更精确地说,Java 开辟人员利用 Ruby 有着更深化、更隐伏的缘由.
简单地说,Java 编程略显老态了.
大概,更精确地说,Java 语言 略显老态了.
考虑一下:当 Java 语言最初诞生时,Clinton(第一位)在办公室中,很少有人利用 Internet,这主如果因为拨号是在家里利用网络的惟一方法.博客还没有创造出来,每个人相信担当是重用的基本办法.我们还相信,对象是为对世界举行建模的最好办法,摩尔定律将永久统治着世界.
实际上,摩尔定律惹起了行业内很多人的分外关注.自 2002/2003 年以来,微处理器技术的发展使得具有多个 “内核” 的 CPU 得以创造出来:本质上是一个芯片内具有多个 CPU.这违反了摩尔定律,摩尔定律认为 CPU 速度将每隔 18 个月翻一倍.在两个 CPU 上同时履行多线程环境,而不是在单个 CPU 上履行尺度循环周期,这意味着代码必须具有巩固的线程安全性,才能存活下来.
学术界已经展开了环绕此问题的很多研究,招致了过量新语言的呈现.关键问题在于很多语言成立在自己的虚拟机或注释器上,所以它们代表(就像 Ruby 一样)到新平台的转换.并发冲突是真正的问题所在,一些新语言供应了强盛的办理筹划,太多的公司和企业对 10 年前从 C++ 到 Java 平台的迁移仍记忆犹新.很多公司都不肯意冒迁移到新平台的风险.事实上,很多公司对上一次迁移到 Java 平台仍心有余悸.
理解 Scala.
一种可伸缩语言
Scala 是一种函数对象混合的语言,具有一些强盛的长处:
首先,Scala 可编译为 Java 字节码,这意味着它在 JVM 上运行.除了答应持续操纵丰富的 Java 开源生态系统之外,Scala 还可以集成到现有的 IT 环境中,无需举行迁移.
其次,Scala 基于 Haskell 和 ML 的函数原则,大量鉴戒了 Java 程序员钟爱的面向对象概念.因此,它可以将两个范畴的上风混合在一同,从而供应了明显的长处,并且不会失去我们一向依靠的熟习的技术.
最后,Scala 由 Martin Odersky 开辟,他大概是 Java 社区中研究 Pizza 和 GJ 语言的最闻名的人,GJ 是 Java 5 泛型的工作原型.并且,它给人一种 “严厉” 的感受;该语言并非一时髦起而成立的,它也不会以一样的方法被丢弃.
Scala 的名称表明,它还是一种高度可伸缩 的语言.我将在本系列的后续文章中介绍有关这一特点的更多信息.
以上是“面向Java开辟人员的Scala指南 - 面向对象的函数编程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |