Java的跨平台就是一句谎言<转>
小丑进来在别的地方看到的一篇关于“java未来前景的文章”,吾辈鼠目寸光,不敢评头论足“java”特地摘抄几段,也好请大牛们给解释一下迷茫,或是真正的前景。
NO1,(1)java是一个入门很低的工具,一个新手也能写出来所谓的功能----但是问题是,谁敢用? 就是要用java的东西,我想用户也希望他是asm/c++/os下面培养出来工程师,然后转java的。 (2)weblogic,websphere这些东西的销售额,恐怕才是IT巨头们推广java的动因。你一旦依赖了java,能不掏钱给这些公司? java是一种成本鸦片。
NO2,跨平台是一句谎言,严重了,但是可以说跨平台是一句噱头。参加过很多系统建设,C和java都用,实在没看到跨平台有什么好处或作用。因为如果代码量少,完全可以按程序逻辑翻译到另一种语言,如果是大型系统,在开发初期就规划好了用什么平台,还需要夸平台吗?没见过把一个在Linux上运行的大型系统移植到windows上的,如果移植基本是系统升级了,反之一样。有些中间件产品或数据库产品可能会需要夸平台,但很多都有for windows和for linux两个版本,所以跨平台是不是很需要的?作用是不是被夸大了?当然这和java本身性能无关,只针对跨平台。因此,从以上分析得出的结论是:java为了推广和宣传夸大了跨平台的作用。
NO3,作为一个JAVA的强烈反对者,如果JAVA能洗清它满身的铜臭味儿,我倒是可以反过来支持一下它。 JAVAer们普遍都是井底之蛙,只知道JAVA可以做什么,不知道没有JAVA可以做得更快更好更强大。 JAVA在互联网上全线溃败,败军之将,何以言勇?一败涂地的将军,你能指望他去给你开疆拓土?当然我毫不不怀疑这位败军之将做山大王的能力。 IBM、甲骨文等JAVA厂商正开始抛弃JAVA,转向支持PHP,因为PHP可以抛弃虚拟机,以解释或者编译成目标机器代码的方式运行,解释器比虚拟机容易实现,这个能力可以使得PHP得到广泛的支持,即使ZEND关门大吉,也不会让PHP停止脚步。而编译运行,效率上又可以大大超过虚拟机执行字节码,现在都云计算时代了,一个大型数据中心,PHP只要JAV平台四分之一的服务器既可获得JAVA平台的处理能力,这对于大型用户来说充满了诱惑,所以,未来已经注定,希望JAVAer们不要再螳臂当车了。
NO4,这哥理解的跨平台就像是外行,Java所说的跨平台是指针对相同或兼容的硬件体系结构,比如常说的x86、amd_64、sun SPARCK等,可肯定的说这兄弟肯定没见过汇编。另外,跨平台在企业级应用里很重要,试想你小子会把百万、千万的项目放windows上运行啊?SQL server再怎么迈向大型也不可能跟Oracle、DB2比吧(起码暂时不行),况且它MD就只能在windows上运行。
[解决办法]
1、如果你用.net开发了一个应用,但是发现购买一个windows服务器是那么贵,那你能用免费的linux吗?如果你是用php或者java,则可以直接使用,当然,如果你用盗版的话那就没办法了。
2、没用过c,不过java在web方面的应用一直是优势,直到php的崛起。
3、编程是一种解决之道,目的是为了解决客户的问题,并控制成本,百度,中国市值最高的互联网公司,为什么不用c来开发?
4、这个没有固定的,那个时候,个个都说桌面软件将会被终结,以后是互联网的时代,结果QQ上市了,360上市,后来,大家又说桌面软件迎来了新时代,结果zynga成为世界上利润率最高的公司,植物大战僵尸成为了一个神话,于是人人高呼RIA来临了,html5是王者。所以什么语言不是关键,关键是你提供什么服务。
[解决办法]
1)java是一个入门很低的工具 --------难道比JS还低,JS入门那么低,那JS的各种复杂效果实现很简单??
NO2,跨平台是一句谎言--------C都讲解移植性,不需要考虑的话,为什么还有标准C?为什么C还用size_t这种东东??
NO3,作为一个JAVA的强烈反对者,如果JAVA能洗清它满身的铜臭味儿---------------SUN就是因为太学院,不够商业才OVER的,比较学术的语言,商业界谁用??LISP ? SMALL TALK ??
NO4,这哥理解的跨平台就像是外行,Java所说的跨平台是指针对相同或兼容的硬件体系结构,比如常说的x86、amd_64、sun SPARCK等 ---------x86 和sun SPARCK是同一个体系结构?MY GOD! RISC和CISC啊,大哥!
小丑迷茫的是:
1、java的跨平台具体如何理解?
2、java与c和c++有什么联系或是区别(简单一点)?
3、为什么有人说c、c++是“编程的王道”,他们凭什么这样说?
4、最后是关于下面这段话的理解学一门语言,该如何考虑市场?(不知道我问题是不是很迷糊
1、跨平台做的已经是非常好了,比如各个异构OS上 int的长度都一致
2、java和C/C++联系就是,他们同属指令型编程语言,偏静态
3、学好C需要对底层稍稍了解
以上是本人拙见,欢迎抨击和指点
[解决办法]
天天说这个没用,说那个很垃圾,自己扪心自问自己懂多少,不就是要说明自己不懂java么,因为一个资深的程序员是不会说这个语言好,那个语言差的,别人只会说,你的设计是多么的垃圾 ,而不会说你用的语言是多么的烂