技术开发 频道

Java平台是我们最好的选择吗?

三、J2SE6开始支持脚本语言

为什么使用Java平台替代自己创建的脚本引擎?
1. Java平台的标准化特性
Java平台的规范可从各种途径获取,大量的书籍、在线资源、教程等介绍Java开发的相关知识。Java平台的程序员资源非常丰富。Java程序员的培训资源也很方便,不必自己制作培训资料。
2. Java平台的成熟性
Java平台已经有相当长的历史,在各行业存在大量的测试和部署案例。在应用开发接口和技术实现方面都比较成熟。使用Java平台的安全风险很小,不存在平台架构内在缺陷的问题。
3.平台厂商
除了Sun,还有其他多家Java平台提供商,可在技术和经济方面优化选择。
4.开发工具
不需自己编写调试器,把时间浪费在调试脚本引擎和工具上。可购买现成的工具。
5. JIT技术
如今,大量的Java的虚拟机使用JIT技术实现了解释代码以编译代码的速度运行。专门为了自己的产品而从头开发相同的技术是完全没有必要的。
6. Java社区
Java社区内,存在大量的公司和开发人员持续地改进Java平台的技术特性,使得Java平台的用户从中收益。如果自己开发脚本引擎,改进平台的工作也要自己来完成。
7.保护代码投资
Java平台最强大的特性是:一次编写到处运行(Write-Once-Run-Anywhere)。虽然在实际上还不完善,但是这一特性很有价值。简而言之,今天投资的应用系统还会持续在系统的后续版本中运行而不会被废弃掉。
8.开发效率
Java编程语言的语法相当完善。程序员可编写出逻辑严密的程序,可按需要定制出各种工具。Java平台提供了丰富的API,可为开发人员节省编写代码库的时间,而将更多精力用于产品内容的开发。Java平台提供的特性有:
(1)       面向对象机制:Java面向对象机制最完善
(2)        垃圾收集机制:避免了错误指针造成内存泄漏
(3)       类动态加载:在设备环境动态加载类代码
(4)       多线程:Java平台内置了多线程机制,可轻松实现多线程的应用
(5)       健壮的安全架构:可部署细粒度的安全控制
(6)       网络API:实现网络应用易如反掌
 
若要实现一个成熟、可靠、具有类似特性的平台,其工作量是巨大的。
 
四、其它脚本和解释性语言
 
最接近上述特性的“解释性”平台技术是微软公司的.NET。微软公司明显地借鉴了Java平台的运行时解释机制,而开发了另外一套相似特性的平台,这恰好说明Java平台的威力。而.NET平台的劣势是目前只有微软公司一家厂商。还有一个成长中的.NET平台厂商是Novell,正在实施跨平台的MONO项目,但是暂时还无法预测其产品优劣。
其他热门脚本语言技术包括JavaScript, Python, Ruby。这些技术明显的缺点是:
(1)    不如Java平台成熟。
(2)       缺乏社区力量的支持。
(3)       不够强大(如没有多线程,安全架构)。
(4)API不够丰富。
(5)       性能欠佳:这些脚本语言技术一般使用基于文本解释的方式,而Java则使用字节码的解释方式以及JIT机制。
(6)       开发工具(调试器)不完善,这一点是开发人员最诟病的地方。
(7)       熟练使用这些脚本语言的开发人员资源匮乏。一些调查结果显示,Java语言是最受程序员欢迎的开发语言。另外一种最受欢迎的语言是C/C++。两者在受欢迎程度和开发人员数量方面遥遥领先于所有其它的语言。
 
这些脚本语言不能包含Java平台的所有优势。当然,可以改进这些语言并最终达到Java平台的水平。对于普通的非平台开发人员来说,宁可选择更完善的平台并且把精力用在产品开发上,而不是花大力气完善现有的语言平台。
带来利润的是产品,而不是产品使用的平台(至少在时效的意义上如此)因此,合理的做法是,把时间和精力投资在产品开发上。所以,这应该是选择Java平台的主要原因。
 
五、投资保证
投资保证指的是目前的投资不会随着时间的发展而丢失得过快。以下几个方面跟产品开发的投资成本密切相关。
      
1.组件成本
由于硬件价格会越来越降低,新的操作系统会被开发出来。产品的将来版本可能会运行在新的CPU和操作系统环境上。最大限度的重用产品中已有的软件组件可显著降低开发成本。
2.硬件档次
一个产品成功后,会开发出各种价位档次的相似产品。各种低-中-高端的产品可能运行在不同的CPU和操作系统环境上。然而,尽管硬件环境改变了,产品开发商希望大部分的软件能够运行在所有这些硬件平台上。
3.硬件淘汰
生产厂家可能在将来不再提供某个零部件。产品的硬件因而需要重新设计。因为硬件的设计非常昂贵,可能会考虑变更产品其它相关的部分的设计。不管硬件环境如何改变,产品开发商希望大部分的软件库仍然运行在新的硬件上。
 
在嵌入式系统开发领域,上述这些方面是必须考虑的因素。在嵌入式产品开发中,成本最大的无疑是软件部分。Java平台的一次编写到处运行特性可确保产品中用Java编写的部分在各种硬件上得到重用。
 
当然,重用的基础是,新的硬件设备需要部署Java平台环境。然而,部署Java环境和重写产品的全部代码(如果不是采用平台无关的语言编写)相比,其工作量的节省是巨大的。
0
相关文章