科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java之幸不在于做为编程语言有多出色

Java之幸不在于做为编程语言有多出色

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

当初James Gosling开发Java时,他的想法是创造一种工具,当硬件厂商因为技术进步推出新硬件时,不必为每个新的硬件重新编写软件。因此Java虚拟设备将应用编码与硬件分开最终成就了Java在手持设备行业的成功。

作者:Paul Murphy 来源:ZDNet.com 2007年4月5日

关键字: 微软 java Paul专栏 JVM 热评文章 Windows Office

  • 评论
  • 分享微博
  • 分享邮件

当初James Gosling开发Java时,他的想法是创造一种工具,当硬件厂商因为技术进步推出新硬件时,不必为每个新的硬件重新编写软件。因此Java虚拟设备将应用编码与硬件分开最终成就了Java在手持设备行业的成功。

世界上有十亿部手机都支持这个创意以及他的关于安全内存使用,目标重新使用和语言结构的核心compsci教义的运用。

很好,尽管Java已经为最大规模的编程项目打下了基础,并成为网上所有交易的支撑,但是我并不认为这些应用中有哪一个适合Java的操作模式。

后来怎么样了呢?微软是这样做的:明确JVM(Java虚拟机)对手机厂家的保护,承认对硬件变化的快速适应的需求,对于软件开发者来说,要能够快速适应微软用户环境中独断的变化。基本上JVM专为保护软件开发者免受外部变化的影响而设计——Gosling当初主要考虑的是硬件,但是JVM对于软件的变化起到了同样的作用。

后来,微软又有了变化——这次为了包容,扩展和消灭windows用户端JVM,Java又在几个方面取得了进步。他们在这个问题上输了,但是从那时起,Java开发者开始通过在他们能够掌控的服务器上使用Java来使他们的投入变得不朽。Sun开始在数据中心市场推动软件战略。很不幸的是,尽管Java是针对微软最有效的代码保护工具,但是并不能说明它做为编语言到底有多出色——事实上看到人们在Solaris或者任何其他Unix系统上使用Java,总让我想起一个人买套装的悲惨遭遇:

Izzy到本地一家裁缝店去最后试穿定制的套装。很快他就发现右边的袖子太长了。

裁缝说:“不用担心。瞧,你的胳膊伸在前面还有些弯,看,正合适!”

lzzy嘟囔着:“是,但是左裤腿也太长了,都拖在地上了。我会绊到它。”

“不用担心,膝盖稍弯,象这样裤腿正好盖在脚踝上。”

Izzy 叹道:“好吧,可你看领子都顶到我耳朵了。”

“没关系的!来稍微耸耸肩。瞧瞧镜子里的您,您见过这么合身的衣服么?”

于是一切问题都解决了,Izzy付了帐,穿着新衣服掂着脚来到街上,差点撞到两个老妇。

人们悄悄议论:“多可怜的人!”

“是啊!”另一个人说:“但是外套多合身啊!”

这就Java的最常见的用途:人们用105MM榴弹炮来打兔子,却用0.22的枪来猎熊。

另外一面:Java之所以能够在移动电话等设备领域中如鱼得水完全是因为很多其他用于这个领域的软件产品功能不够完全。

例如,垃圾回收和强大的输入能力奠定了Java“安全”汇编语言的地位。这两大特性都适合Java,也适合Windows客户端,但是并不为Unix下业务内容或者研究应用的汇编和运行时间期望所需。

同样的,它的嵌入式项目模式对于针对经常变化以及单JVM运行环境的多种功能应用开发人员来说具有极大的价值,但是在用来设计Unix下相关数据库的商业应用时会增加编程和运行的管理费用。

换句话说,使得Java在移动电话,电视机顶盒和Windows客户端获得成功的因素也就是在运行时间中保护应用集成,保护开发者免受外界变化的干扰的因素,以及允许编码在不同环境中运行的因素,但是当环境中采用了Java使得这些问题根本不发生时,同样的解决方案反而成了负担。

1984年用K&R C语言为使用BSD 4.3的Vax编写的应用在今天的Sun Studio 11 和 Solaris 10上依然能够兼容运行,没有变化。1994年为Solaris 2.5编写的FrameMaker和 Visual Thought binaries I 依然可以在现在的Solaris 10上运行。13年以来,主要的操作系统已经更替, 整整三代硬件过后,Java还能继续发挥作用吗?答案是不能。

从开发者的角度来看这个问题相当严重:在已有的Java团队中雇用新人,那么在未来的几个月中都会有负面的影响,因为新人需要这段时间来学习那些已经在本地进行过测试,新人在这个过渡期中所做的工作都会给生产力带来负面影响。开始一个Java项目,换句话说,等于在赌整个团队能够工作,没有变化的坚持到第一个具有重要意义的“维护版”的诞生-对于任何规模的项目来说,这都是一场必输无疑的赌博。当然,您作为经理,您的目标在于控制预算而不是生产产品,因此Java普及使其必胜。
(责任编辑:张思童

查看本文的国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章