从“跨平台就是一种谎言”说起C#和Java的区别
展开全部
首先我要说明我的观点:语言没有好坏之分。语言背后所体现的不过是不同平台之间利益的一种博弈。
因此,各位,这有啥可争的?谁“好”谁“坏”又怎样?对于堆代码的人来说,哪个能挣钱,哪个就是好语言。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
因此,各位,这有啥可争的?谁“好”谁“坏”又怎样?对于堆代码的人来说,哪个能挣钱,哪个就是好语言。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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询