从“跨平台就是一种谎言”说起C#和Java的区别

 我来答
cs903016
2017-04-20 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1688万
展开全部
首先我要说明我的观点:语言没有好坏之分。语言背后所体现的不过是不同平台之间利益的一种博弈。

因此,各位,这有啥可争的?谁“好”谁“坏”又怎样?对于堆代码的人来说,哪个能挣钱,哪个就是好语言。Object-C好不好。iPhone火热之前甚至连提都懒的提,完全处于角落里。但是现在呢?究竟是什么原因让Object-C火起来?是执行效率还是开发效率?都是扯!市场决定一切!.net、java和object-c分别代表了MS、SUN(Oracle?)和Apple的实力!

语言之争说完了,说说我心中的跨平台。跨平台就是一种谎言!!!

曾几何时,我们听过太多的跨平台:一次编译,多处运行。但是每当你亲身实践,你就会遗憾的发现,这一切都是一个美丽的谎言!Java和.Net,二位先驱已经在各自的文章中阐述了各自的观点。我想说的是又一次被跨平台这个美丽的谎言所包裹起来的——RIA开发。

现在RIA最火的无外乎两种:Flash和Silverlight。从理论来说这两者都是走的插件运行环境的路数(谁又不是呢。。Java虚拟机。。.Net Framework。。),我们能够听到的,无外乎既可以支持PC,又可以支持移动设备云云。。但是事实呢??

不知道有多少人做RIA开发。Flash什么时候出的移动版本(不算阉割的哪个)?PC上运行的Flash可以直接在移动版本上运行么?iPad为什么干脆不支持Flash(iPad为什么可以选择不支持Flash)?Silverlight有PC和Mac的Runtime,但是Windows Phone 7为什么尚不支持“浏览器内运行的Silverlight?”(目前Windows Phone 7的开发框架为Silverlight,但是这和PC上运行的Silverlight Runtime有很大的区别。)

上面提到的Flash、Silverlight是RIA领域的翘楚。每一个都包裹着跨平台的外衣。但是直到你真正去尝试“跨平台”,你才发现这一切都是美丽的谎言。

但是另外一个事实我不得不说,那就是:跨平台只不过是程序员的一厢情愿;平台商的一种宣传策略。跨平台根本是不可能的!

各位,不要狭隘了!编译通过能运行就叫跨平台,是做技术人的悲哀!PC用鼠标,手机用手指头,你光编译过了有个什么用?客户能用么?PC多大的分辨率,手机多大的分辨率?你光能“显示”有什么用?用鼠标点,拿手指头戳,手机上面连hover都没有,PC上的东西手机上就算运行了又能怎样?

因为硬件设备和运行环境的不同带来的用户体验的不同,才是跨平台最大的障碍!这一障碍,不是任何一个“技术”或“技术提供商”可以解决的!
参考:http://www.cnblogs.com/happycharles/archive/2010/05/30/1747740.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式