yitai 的专栏

博闻强记,多思多问,取法乎上,持之以恒

用户操作
[即时聊天] [发私信] [加为好友]
yitaiID:cxl_cheng
11516次访问,排名10293,好友0人,关注者0人。
cxl_cheng的文章
原创 6 篇
翻译 0 篇
转载 9 篇
评论 22 篇
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
liangxf0022:AJAX是过渡的产品,他并不是很好的一个东西。
SVG嘛,只能算偏门
这2个东西以后一定不是主流。

PHP嘛,语法限制了他的发展,虽然现在有很多公司都在用,不过都已经不是正宗的PHP了。

C#毕竟是MS支持的,好歹也有点底。

Python嘛,是有前途。不过,现在也存在分支的问题,如JPython,CPython等等,小心一……
cxl_cheng:可以,我也是转的。供学习使用
末日创意:呵呵,不错,能不能收录我的BLOG里

http://www.lastidea.net
ahua501:这位仁兄说白了就是java的托,现在微软的联合采购价格已经接近到100rmb了,以后等微软的系统降价到合理的水平,大家肯定还是拥护微软系统的,liunx发展快也没什么可能用到桌面操作系统的。就算java是免费的,oracle总要钱吧,选来选去还是微软系列的比较适合中国的企业(政府的就难说了)C#将来无论在任何方面将不输于java,我相信,5-7年后还是分不出高低的。所以反正现在学java或者……
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 纵论5-7年内的技术发展大势 (Robbin) 收藏

    新一篇: 第 1 页 事半功倍之Javascript [1] | 

    纵论5-7年内的技术发展大势
    robbin | 15 四月, 2005 12:14

    注:转载本文已征得作者同意,作者和本网站对内容不负任何责任。
    出处:
    http://www.fankai.com/

    初探在下一代 Windows 中编写和部署应用程序

    http://www.microsoft.com/china/MSDN/library/windev/longhorn/DevelopAppLonghorn.mspx

    看了这篇文章以后,对XAML有了具体的初步认识了,最重要的是搞清楚了XAML的思路和方向。看完这篇文章之后,我有了如下的想法:

    首先,以Microsoft公司的实力和Windows操作系统的占有率来说,Longhorn迟早会被普及,而XAML的开发方式迟早也会普及的。记得当初WindowsXP刚出来的时候,因为资源占用率和新的激活制度招致一片骂声,但是慢慢的,现在也都接受了下来。由此可以推断,Longhorn以其更加丰富的桌面功能和诱人的外观,会在将来成为主流。

    但是Longhorn什么时候才会全面普及,这是很值得琢磨的问题。WindowsXP是2001年推出的,在随后的几年,Microsoft采用了一些商业手段来迫使用户升级,例如企图取消Windows98的技术支持,不再提供WindowsNT技术支持,不再销售 WindowsNT/Windows98,将Windows2000保持在一个比较高的售价的同时,对WindowsXP推出优惠价格,让 WindowsXP的售价低于Windows2000等等手段。但是直到现在,Windows2000仍然占据了非常高的份额,据我个人的观察是比 WindowsXP略高。按照这种情况来推断,Longhorn要普及,恐怕难度更大,非常多的用户现在仍然是Windows2000的死忠派, WindowsXP推广了四年还未能超过Windows2000,那么Longhorn究竟要几年才能超过WindowsXP呢?我估计四年以上是起码的。

    XAML应用程序不同以往,它只能跑在Longhorn上面,甚至比Java和dotnet要求更严格,后者仅仅下载安装一个运行环境就可以了,但是前者要求你必须更新操作系统。XAML在IE浏览器中运行虽然肯定是下一代RIA的主流,但是不可忽视的问题是,只要Longhorn没有彻底淘汰 Windows2000/XP,软件开发商和网站开发商就不敢大面积采用XAML。而根据我的观察,现在企业中,Windows98仍有少部分市场份额。因此Longhorn必须要等待到彻底的,毫不残留的淘汰Windows98,Windows2000,WindowsXP之后,才会全面普及,而在此之前,不得不经历一个漫长的过渡期。

    就好像现在,假设你开发桌面应用程序,你敢只针对WindowsXP开发吗?而彻底不支持98和2000吗?我想,没有哪个软件开发商敢这样做。除非 Windows2000几乎被彻底淘汰了,你才敢这样做,但是WindowsXP已经推出四年了,还没有Windows2000占用率高,哪全面淘汰究竟要几年呢?再看看现在dotnet winforms应用,推出也已经五年时间了,但是到现在仍然没有普及开来,根本的原因就是Windows2000/WindowsXP没有预装 dotnet framework。仅仅是需要打包安装一个运行环境就使得winforms五年都推广不了,更何况要求你升级操作系统呢?

    我个人的估计是,假设2006年Longhorn如期上市,那么将需要7-9年时间来彻底淘汰Windows2000/WindowsXP。 Longhorm上面XAML应用的初步普及也至少需要4-5年时间以后才会有软件开发商大量去做(想向dotnet是2000年开始宣传和推广的,到 2004年开始普及,今年和明年才会全面普及)。因此,基于XAML应用我个人的想法是在2010年以后才会成为主流!上面的估计中还没有包括MacOS 和Linux在桌面会否有什么表现,但是估计仍然不会成为主流,因此就不过多考虑了。

    因为从现在到2010年,还有漫长的5年时间,我们不可能坐等XAML的普及,即使我们知道XAML肯定会普及,但是那也是五年以后的事情了。这五年时间我们仍然需要干自己的事情,赚自己的钱。所以审视一下这五年中会成为主流,或者说可用性极好的技术,还是很有必要的:

    先说说服务器端吧:

    从可预见的未来来看,服务器和客户端TCP通讯的主流方式一定是HTTP协议(即时通讯软件走UDP端口,不在讨论范围)。在基于HTTP协议之上,又分为两类:一类是SOAP协议,异构系统支持良好,但是性能很差,目前Microsoft很喜欢用这种方式;一类是轻量级二进制协议,例如Flash的 AMF协议,Resin的Hessian协议。值得一提的是,不管哪种方式,他们都支持异构的系统,所以完全可用在客户端采用dotnet,在服务器端采用Java或者Python。因此,XAML的流行不会对服务器端技术产生致命的影响(肯定会提高dotnet的服务器的市场份额)。所以我们可用抛开客户端影响,单独来看服务器端技术:

    1、Java
    Java是当前服务器端技术当之无愧的王者,在未来五年内,也不会有任何动摇(受到dotnet和python的影响,市场份额会下降一些)。Java特别有利的一点是,现在有太多的现存系统基于Java,这些系统都不会轻易迁移到其他平台上。另外还有一个决定因素是除了Microsoft之外的几乎全部 IT大公司都在Java方面的投资巨大,放弃Java对他们来说也意味着沉重的打击,甚至毁灭性的打击。这些公司可以列很长很长,IBM,HP, Oracle,SAP,Sun,BEA,Macromedia等等。

    2、dotnet
    由于Microsoft的影响力,dotnet会成为为仅次于Java的第二大服务器端技术,但是Microsoft有一个隐忧,就是Linux操作系统在服务器端的高速成长。虽然现在Linux在整个服务器端市场的出货量只有13%左右,但是成长率惊人,根据我看到的资料显示,到2008年,将占据 25%以上的市场份额。考虑到很多公司是自己安装Linux,因此不会被硬件服务器厂商统计进来,因此Linux的服务器端的市场份额应该比25%高一些。并且现在主要的服务器厂商都对Linux有非常巨大的投入和支持,这些公司包括IBM,HP,Dell(只有Sun不支持),因此Linux在未来会对Windows在服务器端的市场构成最严重的威胁。

    不要忘记dotnet只能在Windows平台上面跑,虽然有mono,但是你不可能移植MTS,COM+,SQL Server etc。所以只要Linux在服务器市场对Windows构成持续的威胁,dotnet就不可能超过Java,Java的地位还是稳稳的老大。从某种程度上来说,Java的命运是和Linux联系在一起的,只要Linux在服务器端不输于Windows,Java就稳稳压制dotnet。

    BTW:从未来来看,Linux和Windows会在低端和中端服务器市场成为主要竞争对手,由于各自都有其不可替代性,所以双方都不可能彻底消灭对方,最大的可能性是Linux和Windows平分市场,或者Windows市场份额略高一点。

    3、Python
    我个人认为Python会成长为第三大服务器端技术,Python成长于开源,但是又有商业公司来商业运作,并且背后还有大公司的支持,在欧洲普及的非常好。当然最重要的原因是我觉得Python在技术上非常先进,并且技术发展方向上比较统一,不会出现Java那种吵架的事情。

    4、PHP
    PHP这东西是不错,Yahoo也在用,IBM现在也对他感兴趣,但是我还是要说PHP没有太广阔的前途,原因很简单,PHP没有服务端中间件,例如 Java有App Server,dotnet有IIS/MTS,Python有Zope,但是PHP他就是一个脚本,没有自己的中间件就是致命问题。Yahoo用PHP有其特定的原因,主要是从原先自己的技术迁移到PHP很方便,而IBM支持PHP,显然醉翁之意不在酒,IBM意不在推广PHP,而在于争取到那些使用 PHP的商业大客户们,向他们卖服务。

    BTW:感觉欧洲用Python/PHP的很多,似乎开源在欧洲非常深入人心。

    从服务器端技术来说,Java还是我们最需要下功夫去学习和掌握的,此外,我会比较倾向于钻研和应用Python,而不是dotnet。原因也很简单,跟随Micorsoft的技术会很辛苦,Microsoft产生的新概念多,他总是会猛的推出n多种技术,然后让他们在市场上自己生存,最后根据市场反馈,无情的抛弃某些东西,大力推进有市场前景的东西,这样的例子太多了,举不胜举了。我的感觉就是这种方式会让Microsft经过市场尝试在技术竞争中筛选最优秀的技术,但是对于Microsoft技术的跟随者来说,未免有点太不公平,整天吭哧吭哧被Microsoft拿来当免费的试验品来用。我特别不理解的是MSDN宇宙版,Microsoft总是把无穷无尽的文档灌给你,让你永远学不完,但实际上我真的不需要那么多概念,我只需要能够很好的完成我工作的技术,并且这个技术可以持续的完善就好了。而不是今天给我这样一个东西,明天灌给我无穷的文档,后天当我用顺手以后,又告诉我这东西作废了,你给我重新学习新东西,然后又是无穷的文档,总之很恼火。

    所以就是:重点学习Java,有时间去学习Python,保持对dotnet的关注即可。


    客户端:

    前面说了那么多XAML的东西,都是和这有关,七年以后肯定是XAML的天下,但是五到七年之内还不是:

    1、Java
    Java在客户端真的是扶不起的阿斗,这都怪Sun。Sun造就了Java的成功,又一手毁了Java在客户端的市场。那些个Swing和SWT的死忠团也不要和我争什么,我也懒得和你们争,你们觉得好就好吧,道不同不相与谋,你觉得好你就用你的,我觉得不好我就用别的。用不着缠着我非逼我说Java做客户端好,没必要,况且就算你逼我承认又怎样?我就是玉皇大帝金口玉言了?得到我的承认,Java就有前途了?我好像还没有那么大本领吧?就是IBM, Sun也没有那么大本领,所以好不好也不是我说了算,用不着逼我。

    2、dotnet winforms
    由于Windows2000/WindowsXP不带dotnet CLR,所以winforms一直没有能够普及得很好,等Longhorn一出来,又变成了XAML了,winforms又被淘汰了,所以 winforms的地位特别尴尬,但是在这5-7年中,你想开发既能够在Windows2000/WindowsXP,又能够在Longhorn上面跑的桌面程序,winforms好像又是Microsoft技术中最好的选择。所以只好一直尴尬下去。

    3、VC,VB
    dotnet出来以后就开始尴尬了,说用吧,好像很落伍了,都dotnet时代了,说不用吧,又没有好的替代品,现阶段开发桌面程序,还真得不得不用,而且还挺好用的。所以VC6SP5,VB6的死忠团也比较多。

    4、Delphi
    dotnet出来以后Borland就开始跟风了,这一跟风,连老本都跟没有了。未来的XAML时代,我也不知道Borland怎样找自己的定位,但不管怎么说,从历史来看,本地代码的应用程序永远有它一席之地!就算XAML又如何如何做得漂亮了,关键的地方,和特定资源处理相关的部分,还是本地代码的程序管用。你看VB出来多少年了,用VB开发的都是一些上层的项目级别的应用软件,一旦涉及产品领域,还是VC和Delphi管用。所以现在大家还是不得不用Delphi7阿。

    BTW:XAML应用致力于快速开发项目级别的应用,特别是可以跑在IE浏览器里面的,因此是RIA的首选。但是毕竟也有很多不适合用RIA的场所,特别是例如我要备份某些文件,你用XAML?那性能就不用提了。所以Delphi如果好好发展VCL,封装Windows32 API,我觉得也是一条路,未必比现在跟随dotnet差。

    5、Flash RIA
    其实我觉得Flash不适合做RIA的,但是Flash普及率太高,XAML又离普及太遥远,而Flash现在就可以用了,所以是当前RIA的首选。不过我对Macromedia公司比较失望,如果Macromedia能够公布Flash实现细节,作为一个公开的标准向ISO提交,同时免费开源Flex,我敢说,Flash RIA会迅速普及的。等5-7年XAML的时代,由于Flash的市场占有率,XAML就未必能拼得过Flash。可惜的是Macromedia公司目光过于短浅,只知道赚眼前的小钱。

    6、Python
    这5-7年内,RIA应用和RCP应用不会统一,XAML才具备将RIA和RCP统一的实力。从这5-7年来看,Flash是RIA的首选,而RCP的首选,我要推荐Python。原因前面已经提过,简单总结一下:
    1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植。
    2)Python的面向对象脚本语言编程适合快速界面开发
    3)Python在服务器端和客户端都非常有前途,可以形成一个统一的解决方案,这一点明显比Java有优势
    4)Python桌面应用程序可以完全编译为本地代码,脱离Python运行环境,这一点比dotnet winforms都有优势
    5)Python可以不受限制的任意调用Windows32 API,所以凡是VC6可以做的事情,Python就可以做

    试想一下,现在我们开发桌面应用程序有什么要求?
    一、不要附带一个JRE或者CLR的累赘
    二、可以快速开发
    三、性能要有保证
    四、方便的远程方法调用支持
    此外如果能够跨平台就最好了

    Java前三点都不符合;dotnet winforms不符合一;VC6不符合二和四,VB6不符合三和四;Delphi7符合前四点;Flash RIA不符合三;Python全部都符合!并且请记住Python是一个完全开源免费的方案!

    客户端技术在这5-7年中,在RIA领域我会学习一下Flash,在RCP领域我会重点学习Python,此外会观望一下XAML。

    发表于 @ 2006年05月26日 18:29:00|评论(loading...)|编辑

    新一篇: 第 1 页 事半功倍之Javascript [1] | 

    评论

    #pripor 发表于2006-05-27 19:28:00  IP: 202.110.209.*
    现在只关心c++0x
    期待泛型之风给软件业的巨大冲击,就像当年的oo一样
    或者彻底成为历史
    #曾牧暗鲨 发表于2006-05-27 21:19:00  IP: 128.3.0.*
    收藏起来,五年后再看看你的预言如何?

    我一直再想用DELPHI做JAVA的客户端是不是株连碧合呢?

    不知道你指的客户端要跑在什么平台上?UNIX ,WINDOS ,AIX,SOLARS,LINUX,FREEBSD?

    如果跑WINDOWS下的话,只要开发出用DELPHI连接J2EE+ELB的技术就完美啦!!
    JSP+DELPHI+J2EE+ORACLE+LINUX 完美组合
    #flmn 发表于2006-05-28 10:48:00  IP: 221.122.45.*
    C++啊C++
    #mouse 发表于2006-05-28 11:22:00  IP: 58.48.30.*
    我只用C,
    #Charlie 发表于2006-05-28 18:03:00  IP: 222.67.202.*
    彻底不支持98和2000是很正常的事情,微软已经停止了对这些鼓动产品的支持,难道还指望使用98或2000的不愿意花钱升级的客户来花钱买你的应用程序?
    #wwwww 发表于2006-05-28 19:51:00  IP: 218.4.96.*
    JAVA>python>.net
    #Jesse 发表于2006-05-28 22:17:00  IP: 219.144.217.*
    楼主讲的Python给我印象很深刻,有时间一定看看,呵呵,不过 .NET 说的有点过了。任何一个公司都回留点后路的,不管他有多强。
    #Ricepig 发表于2006-05-29 08:09:00  IP: 218.72.39.*
    C#3.0和VB9相当有看头

    当然Python也不错,但是不知道Python性能咋样

    Java跨平台不垮语言,.net跨语言不垮平台

    号称跨语源又跨平台的Parrot又不知道啥时候出来。。。
    #myan 发表于2006-05-29 08:13:00  IP: 219.236.50.*
    好文章!分析很深入,结论也很有说服力。

    #yitangliang 发表于2006-05-29 08:55:00  IP: 61.172.57.*
    试想一下,现在我们开发桌面应用程序有什么要求?
    一、不要附带一个JRE或者CLR的累赘
    二、可以快速开发
    三、性能要有保证
    四、方便的远程方法调用支持
    此外如果能够跨平台就最好了

    Java前三点都不符合;dotnet winforms不符合一;VC6不符合二和四,VB6不符合三和四;Delphi7符合前四点;Flash RIA不符合三;Python全部都符合!并且请记住Python是一个完全开源免费的方案!

    ----------------------------------
    Delphi符合前四点,却混得很不好,都不知道该不该跟了,看着满天的java/.NET招聘......
    #DX 发表于2006-05-29 13:32:00  IP: 222.91.65.*
    看了最后一段,才知道原来是讲Python的..............
    #Jemmy 发表于2006-05-29 18:55:00  IP: 207.46.89.*
    看了楼主的XP占有率小于2000,就知道整篇文章是在开玩笑了。
    而且还是自己观察的...
    我周围就没见过用2000的....。

    另外,每年PC出货量超过2亿,明天至少一半PC会预装Vista,剩下的一半就算XP吧, 为一亿用户编写程序会没有前途,不要光看占有率,要看绝对数量阿。 PS2才一亿多台,PC多少台,厂商愿意在哪个平台上开发游戏。 有点语无伦次了,赫赫
    #宁柯 发表于2006-05-29 21:17:00  IP: 59.107.14.*
    不过Python的确不错!
    欢迎大家访问我的网站 www.china-django.com
    用Python写的
    #唐僧 发表于2006-05-30 10:06:00  IP: 222.66.68.*
    我觉得这位仁兄对php评价未免太苛刻,一看就知道不曾用过这个东西。另外,客户端技术中漏了ajax和svg,这才是代表了客户端真正的方向
    #neuhawk 发表于2006-05-30 14:43:00  IP: 220.173.53.*
    wpf/e
    #行者 发表于2006-05-30 13:25:00  IP: 218.247.166.*
    shc
    #hehe 发表于2006-05-30 17:00:00  IP: 60.181.13.*
    我觉得这位仁兄对php评价未免太苛刻
    #ahua501 发表于2006-05-30 21:59:00  IP: 59.35.14.*
    这位仁兄说白了就是java的托,现在微软的联合采购价格已经接近到100rmb了,以后等微软的系统降价到合理的水平,大家肯定还是拥护微软系统的,liunx发展快也没什么可能用到桌面操作系统的。就算java是免费的,oracle总要钱吧,选来选去还是微软系列的比较适合中国的企业(政府的就难说了)C#将来无论在任何方面将不输于java,我相信,5-7年后还是分不出高低的。所以反正现在学java或者C#的,都可以的。
    #liangxf0022 发表于2006-06-13 10:47:00  IP: 221.10.47.*
    AJAX是过渡的产品,他并不是很好的一个东西。
    SVG嘛,只能算偏门
    这2个东西以后一定不是主流。

    PHP嘛,语法限制了他的发展,虽然现在有很多公司都在用,不过都已经不是正宗的PHP了。

    C#毕竟是MS支持的,好歹也有点底。

    Python嘛,是有前途。不过,现在也存在分支的问题,如JPython,CPython等等,小心一脚就掉下去了。
    #sap99 发表于2008-09-12 10:50:58  IP: 222.172.220.*
    www.sap99.com/,SAP99资料多多

    SAP免费资料下载
    http://www.sap99.com

    有很多的学习资料,推荐一下,
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © yitai