首页 » Java程序员修炼之道 » Java程序员修炼之道全文在线阅读

《Java程序员修炼之道》第三部分 JVM上的多语言编程

关灯直达底部

这一部分专门探索JVM上的新语言范式和多语言编程。

JVM是一个迷人的运行时环境:它提供的不仅是性能和能力,还赋予了程序员惊人的灵活性。实际上,JVM是探索Java之外的语言的关口, 并且会让你尝试一些不同的编程方式。

如果你只用Java写过程序,可能想知道学习其他语言会有什么好处。就像我们在第1章说的,成为优秀Java开发人员的本质就是对Java语言、平台和生态系统的方方面面掌握得越来越全面。这包括能够欣赏那些目前刚刚起步,但不久的将来就会变得不可或缺的主题。

未来已经发生,只是分布尚不均匀。

——威廉·吉布森

事实证明,很多未来需要的新想法已经出现在函数式编程等其他JVM语言中了。学习新JVM语言的过程中,我们可以一瞥另一个世界,我们未来的某些项目很可能就跟它很像。从不同的视角探索问题能帮我们重新审视已有的知识。学习新语言可以开启新的可能性,我们可能会发现自己不知道的新天赋,掌握新技能,而这些东西总有一天会派上用场。

第7章会解释一下为什么Java不是解决所有问题的理想语言、为什么函数式编程概念有用,以及如何为特定项目选择一种非Java语言。

最近,很多书和博客里都提出一种观点,认为函数式编程很快就会成为每个开发人员职业生涯中的重要角色。很多文章都把函数式编程描述得令人生畏,却常常讲不清楚函数式编程怎么在Java这样的语言中“发光发热”。

实际上,函数式编程根本算不上一个整体结构。相反,它更像一种风格,开发人员思考方式上的一个过渡。第8章会给出一个用Groovy语言编写的、稍微带点儿函数式编程味道的例子,就是用一种更清晰的、不太容易出bug的风格来处理集合的代码。在第9章,我们会用Scala语言讨论“对象-函数式”风格。第10章会用Clojure语言看一下纯粹的函数式编程(它甚至超过了面向对象)方式。

在第四部分,我们会介绍几个真实案例,针对这些案例,其他语言能够给出更好的解决方案。如果你不信,可以提前看一下第四部分,然后再回来学习应用那些技术所需的语言。