java 之未来

转载于51cto

Java之父自己也清楚的表述了这个观点:“我们看中的并非Java语言,而是JVM。事实上我们可以让所有语言一起工作。”


以后的企业级项目和Web项目需要怎样的语言?一般而言,有下面几点:
◆可伸缩性
◆可移植性
◆并行编程
◆高性能的
◆DSL(领域特定语言)的实现

他们可能想要:
◆动态的
◆静态的
◆强类型的
◆函数式的
◆富有表达力的
◆面向对象的
◆简洁的
◆容易理解的
◆容易学习的(在有Java或其他语言开发经验的基础上)
◆深刻的
◆快捷的
◆模块化的
◆灵活的
◆有强大的类库
◆有好用的框架
◆有合适的IDE
◆有活跃的社区

某些语言能够满足上述条件中的很多条,但是很明显,没有任何一种语言能够满足所有的条件!同时,同一个项目的不同层面的需求也是不同的。现在全世界最流行的微博服务Twitter,表层是Ruby on Rails,底层是Scala,而Twitter团队进行这样的选择正是因为考虑到不同层面的业务需求。

在预言中他描述了同一个项目中可能会需要不同语言的三个层:
◆稳定层(stable layer)–不包含大量的应用程序功能,可以使用静态语言构建 
◆动态层(dynamic layer)- 包含大量的应用程序功能,使用动态语言构建 
◆领域层(domain layer)- 包含大量的应用程序功能,使用DSL构建

不过话又说回来了,既然混合语言编程这么好,为什么一直以来都没怎么流行呢?答案很简单,和我们与国际友人之间有沟通问题的原因是一样的:一段Ruby代码要如何明白一段Java代码说了些什么呢?对于高级语言来说,要互相理解对方的功能,进而进行交互,是一件很困难的事情。如果无法交互,又要如何一起来完成同一个项目呢?

沟通问题是一个很大的障碍。然而,这个障碍的清除早就有了一个成功的案例:那就是微软的.NET平台。在微软官方文档的描述中,这种“沟通”被命名为“跨语言互操作性”,或者“语言互用性”。在.NET平台上,这个问题的解决方案是公共语言规范 (CLS)。事实上,不得不说微软在这方面做的要远远超过解决“沟通问题”的这个层面:它的目的是能够让多种语言可以自由共享和扩展彼此的库。不过,在过去的很长一段时间内,.NET平台上的主要公民只有两个:C#和VB.NET,其他公民则大多半死不活,这使得这个互操作性的意义大打折扣。

综上所述,软件项目的未来在于混合语言编程。此前景的舞台将在未来数年内搭建成熟,而聚光灯的焦点就是一个百家争鸣的JVM。基于JVM的混合语言编程的发展趋势,为Java开发者们提供指引。想一想看,当你的老板或项目经理决定要尝试Groovy或是Scala进行部分开发的时候,如果你能够立即站出来为他进行一些解惑或指点,那么你又何愁饭碗随着Java语言的老去而消逝呢?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值