[img][/img]在09年的JavaOne大会期间,51CTO曾报道过Java领域的几大趋势,多语言、混合编程的发展便是其中的重点。基于JVM的语言正在开始流行,这为Java平台上多语言混合编程的发展提供了技术基础;在实际应用中,每种语言都可以针对自己擅长的方面更好的解决问题;日趋复杂的软件需求也使得混合编程的应用场景更加频繁。对于Java程序员而言,技术单一化正变的危险,因为你周围的世界已经变得复杂;混合编程时代已经到来,你准备好了吗?
最近几年,基于JVM平台在编程语言方面发生了巨大的变化。比如动态语言(如:Javascript,Jruby,Jython,Groovy)和函数式与面向对象兼具的Scala等。我很高兴我们现在有很多选择,到目前为止,我不认为某个单一语言可以像之前的Java一样独占JVM。
在某种程度上,JVM上出现多种语言共存是件好事,一个工具不可能适用所有需求。我们不能指望Java在GUI方面足够好;就像C语言一样,Java从来都不是为了开发动态Web应用而设计的,但我们还是尝试使用JSP、JSF和大量的框架来对抗PHP、Rails和Python在Web上的生产力。好在Java对平台细节和内存管理的抽象层次足够高。这些基于JVM的新语言在各自的领域内也随之可以更进一步的抽象。
JVM上的语言百花齐放
在不远的未来我们将会看到,我们的项目中,并行进程用Clojure编写,展示层使用Jruby/Rails,中间层是Java。每个应用层都将使用不同的编程语言实施,然而,接口对每一层的开发者都是透明的。这是个大事,客户端和服务器将使用不同的运行时和编程语言,在之前的Java平台上前所未有。
这对于Java开发者意味这什么呢?
◆对于Web开发者而言,你将要学习很多与Struts、JSF、JSP不同的东西,我们的开发不再是model1、model2和MVC。
◆对于非Web开发者而言,你所写的代码可读性将更强,并且可以采用上面所提到的任何一种语言来打造适合你项目的DSL;而且,你无需担心偶尔的复杂性以及框架会影响到你的项目。
Java平台开发者的生活(或履历)将会改变,他们将兴奋于现在不只一种编程语言可以使用,而不是只有框架。我从来不认为Java语言将走向灭亡,不是因为现存的大量API库是使用Java编写的,而是因为地球上知道Java的程序员太多了。工具支持Java、本地JVM支持Java(译者注:指运行在JVM上的基础软件)。Java会像C语言一样,你能做的任何事都将被潜在的支持,成为一个基础平台。
后记:本文是作者对Java平台混合编程的变化趋势给的一些体会和观点。事实上,混合编程在我们身边已经有所应用并被广泛认可。让每种语言发挥在自己擅长的领域,更直接的解决问题是当前软件开发应对日趋复杂的项目需求的一个方向。
分享到:
相关推荐
Java程序员的未来正在走向混合编程时代,这是一个不可逆转的趋势。随着软件项目需求的日趋复杂化,单一的Java开发模式已经无法完全满足需求。在这个背景下,多语言混合编程正逐渐成为主流。这种编程模式允许Java...
C++和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这两种语言的朋友造成很大的困扰。本人的这篇拙作,...
在计算机科学和软件工程领域,混合编程是一种常见且重要的技术,它允许将不同编程语言编写的代码进行集成,从而各自发挥其优势。本文档的主题为“基于COM及Java-COM桥的Java与Matlab混合编程”,主要探讨了如何利用...
C++和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这两种语言的朋友造成很大的困扰。本人的这篇拙作,...
C++和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这两种语言的朋友造成很大的困扰。本人的这篇拙作,...
通过这种方式,Java程序员可以利用C语言的强大功能来处理硬件控制或其他特定的底层任务,同时保持Java的跨平台特性。这种混合编程方法在需要高性能、低级别访问或与已存在的C/C++库集成的场景中非常有用。在实际应用...
### Java程序员使用Grails的十大优势 #### 1. 易于学习 Grails框架以其易学性著称,尤其对于已经熟悉Java的开发者来说,它提供了一个无缝过渡的平台。由于Grails基于Groovy语言,该语言的设计理念是与Java高度兼容...
### Java程序员应该注意的编码规范 #### 一、引言 在软件开发过程中,编码规范起着至关重要的作用。良好的编码规范不仅可以降低软件维护的成本,还能提升代码的可读性和可维护性,进而提高团队协作的效率。本文将...
这本书旨在帮助读者掌握Java Web开发的核心技术和实践方法,通过一系列实际项目任务,使学习者能够从理论到实践,全面提升自己的编程技能。 在Java Web开发领域,主要涉及到的技术栈包括Servlet、JSP、JavaBean、...
从给定的文件信息中,我们可以提炼出关于Java编程语言及其在Web开发中应用的关键知识点,特别是关于JSP、Servlet以及会话管理的部分。以下是对这些知识点的详细解析: ### JSP与Servlet的异同及联系 #### 相同点:...
本项目为黑马点评项目,采用Java与Lua混合编程技术打造,整体源码包含82个文件,其中Java源文件75个,XML配置文件2个,Lua脚本文件2个,Git忽略文件1个,YAML配置文件1个,SQL脚本文件1个。该系统旨在实现点评功能,...
### Java程序员面试智力题知识点详解 #### 一、数学能力 **1. 元帅领兵** - **题目描述**:题目中描述了一个军队结构,从元帅往下依次是将军、营、阵、先锋、旗头、队、组、士兵。每一层级的数量都是8个。问题是...
Java编程规范是Java程序员在编写代码时需要遵循的一些约定俗成的命名规定,旨在提高Java程序的可读性和维护性。这些规范包括了包命名规范、类命名规范、接口命名规范、方法命名规范、变量命名规范和常量命名规范等。...
全书从Visual C++语言基础知识和编制简单的程序入手,将Visual C++编程的知识点有机地分散在“幸运52 ”,“速算24”,“俄罗斯方块”,“拼图游戏”,“属于你的OICQ”等多个趣味游戏的程序设计示例中,引导读者...
《Java网络高级编程》这本书是Java开发者深入理解网络编程的重要参考资料。它涵盖了多个关键主题,旨在帮助程序员构建高效、安全的网络应用。以下是对这些知识点的详细解释: 1. **网络进程通信**:网络进程通信是...
jsp页经典面试题java程序员面试经常考到的面试题总结 jsp是一种基于Java技术的服务器端编程语言,广泛应用于Web开发中。以下是jsp页经典面试题总结,涵盖了jsp的基本概念、jsp与ssi的混合使用、线程安全、html表单...
在本项目中,我们主要探讨的是如何利用Java编程语言设计一个具有加减乘除四则混合运算功能的GUI(图形用户界面)计算器。这个计算器旨在模拟Windows操作系统中的标准计算器,提供用户友好的交互方式,使得非程序员也...
一个简单的VC 结合Java编程的实例,演示在JAVA和VC 之间互相传递消息,接收消息并以弹出框的形式显示,此为简单的例子,在一些大型项目中,多种语言混合编程是程序员必备的技能,一个程序员不可能只会一种编程语言,...