技术开发 频道

Java的跨平台就是一句谎言

  【IT168 评论】实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。

  我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度慢不就是效率低吗?难道执行速度慢还成效率高了?

  其实Java之所以在曾经独步天下,就是因为他的跨平台、安全性,这两方面,效率可不是Java的强项,反而是他最短的一块挡板,虽然Java总是用理论证明比.NET快。

  也许C#刚上市的时候有些抄袭Java吧,但自从C# 2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。

  就安全性而言,Java已经远远低于VB.NET,更无法与安全性著称的C#相比。

  也许唯一可以让世人留恋Java的理由就剩下它的王牌——跨平台。

  说句实话,Java跨平台根本就不是外行人想想的那种,一次编译,处处运行。

  因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。

  归根到底,Java跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢!

  如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。

  另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。

  Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!

0
相关文章