实不相瞒,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欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!
v
2010年07月30日 at 6:58 下午
真不知道你是干什么的?
基本常识都没有,钢刀 铁刀 合金刀 玩具刀你都分不清。
不是所有的刀都是用来切水果的。
发广告的
2010年07月30日 at 7:01 下午
idiot !
左手
2010年08月3日 at 4:28 下午
刚刚看了下TIOBE排行榜Java排第一,C#在第六。先不管Java如何,Win平台是要钱的,java可以在免费平台上运行。或许现在的中国大多数人眼里根本不存在版权这么一说,但是也有一些大公司收到过微软的律师函。不少公司也把这一项纳入考虑的因素。免费不要钱的东西,就算差一 点也会有不少人喜欢的。有时候一个结果要考虑很多因素。顺便说下我不是搞Java的,我只是一个搞Web前端的。随便说下我的看法,没有炮轰的意思
啤酒云
2010年08月5日 at 6:54 下午
哈,你这是找拍的。
这二者差不多,依据条件的不同各有优劣。
二者都可以跨平台,也都不能跨。
二者都有安全问题,也都很安全。
二者都很有效率,也都可以编写垃圾代码。
一切要看使用者的水平。
btw,你在手机上用 Serv-U 干毛啊?
尘
2010年08月17日 at 2:40 下午
有点较真了,呵呵
一种技术不可能应用到所有地方
一种技术既然存在一定有其道理