《程序员》2005年4月文章——陈榕访谈

软件正迈向“空”的境界——陈榕访谈

编者按:科泰世纪公司CEO陈榕,是软件技术圈子里的知名人士。他长期在微软公司从事Windows核心部分的开发,在操作系统和软件开发模型上有着独特的技术间接。回国创业之后,陈榕一方面致力于国产嵌入式操作系统的研发,另一方面也不遗余力地将先进的软件技术理念和工程方法引入国内。当网上围绕3G的争论如火如荼的时候,本刊记者在清华园中采访了陈榕,本来是想听听他对3G的看法,但陈榕由小见大,侃侃而谈,为我们展现了一幅未来软件的图景。

1. 3G碰巧拖了一拖

孟岩:陈榕,您好。我们今天的采访是以3G为引子,想通过这个引子请您来谈谈您对3G时代手机以及其他数字家电软件平台的构想,进而请您系统阐述您对与未来软件发展方向的观点。您一定知道,最近3G这事吵得挺火的,原因是春节前经济学家胡鞍钢博士发表了一篇报告,呼吁尽早放开3G,并称放开3G将每年提供100万新增就业机会,1800亿的GDP。报告中批评中国政府被一小部分人的利益所左右,并用了“国家被劫持”这样相当刺激人的说法,所以引起轩然大波。这份报告您看了吗?
陈榕:我看了。
孟岩:您关注这件事吗?这事跟我们程序员有多大关系?
陈榕:不太关注,我觉得跟我们也没太大关系。这次争论更多的是经济学家之间的争论,我是搞技术的,对他们争执的那些话题没有深入的了解。我只是觉得3G发布要体现老百姓和产业的利益。国外3G技术成熟了,不代表中国3G产业成熟了。
孟岩:那我们抛开胡氏报告,以您作为一个软件技术专家看来,3G宜早还是宜迟?
陈榕:如果从3G终端软件技术来看,配套的软件水平比硬件滞后半年到一年。国家3G牌照一拖再拖,恰好对3G软件产业有好处。就算今天3G发牌,第一批手机厂商会用低档手机探路,不需要太复杂的软件。半年后业务需求上来了,我们的软件平台也成熟了。我倒真觉得3G拖一拖碰巧帮我们度过了危险期。
孟岩:拖一拖?真出乎我的意料,我以为您作为一个3G手机软件平台的设计师,一定会希望3G早上。
陈榕:我给你讲一件事情,或许能帮助你了解我的想法。欧洲在1993年制定了一个工控机软件的标准,我原来在北京做过一段数控机床软件开发,2000年回国的时候,一个老朋友跟我提起这件事,我想了一下,说93年的标准,可能有问题吧。我那个朋友很惊讶,说你怎么知道?原来欧洲1997年又制定了一个标准,把93年标准给改了。你要知道,那是欧洲标准!不是小孩子过家家,今天一个,明天一个。欧洲做数控机床,那是从70年代开始积累经验,积累了20年,总结出共性,制定一个93年标准。结果四年就改,这是一件很丢面子的事情。可是必须得改。为什么?因为1995年Java出来了。Java有Class information,有reflection。那些数控机床软件方面的专家也是高手啊,他们凑在一起一琢磨,完了,前面全都做错了。做错了怎么办,当然只好推倒重来。
同样的道理,如果今天我们急急忙忙上3G,别的领域我不懂,但是在软件方面,肯定是个落后。什么原因?因为今年微软的Longhorn要出beta,明年要出release。没有Longhorn给人们演示未来的软件的样子,今天在国内恐怕没有人能把一个面向未来的软件平台标准制定好,所以一动手肯定是错。国家是不开玩笑的,一个决定下来,错了也得执行,多少千亿的资金都要往里面投,如果软件平台不够先进,将是多么遗憾的事情!等过个三、四年,你说改还是不改?
孟岩:您等等,我有点糊涂。我们不是说3G,说手机软件平台吗?怎么跟Longhorn扯上了关系?
陈榕:因为只有Longhorn实实在在出现了,才能让大家明白什么是软件发展的真正方向,什么是未来的软件。而只有大家明白了这一点,才可能制定出合乎未来发展需要的3G软件平台标准。在Longhorn出来之前,我看凭个别人的能量和说服力,中国的软件业和有关部门不可能意识到这个问题。这倒也不是说咱们中国人格外保守,所有人都是这样的。你也知道,Windows 1.0/2.0的时候多么的惨淡!C语言一开始也受到很大的怀疑和抵制。我1997年和DOS 1.0的作者Tim Patterson一起工作的时候,他还在用汇编,还在怀疑C语言,可见有些东西改变起来是不容易的,仅凭我们几个人的呼吁是不足为信的,必须等微软出手。
Longhorn原计划去年发布,结果不争气,没能发布。无论如何明年要出来吧。Longhorn一出来,就相当于95年出来的Java对数控机床软件标准的影响。我们甚至可以说,任何软件标准,只要在Longhorn发布之前制定出来,一定是落后的,一定要几年之后重新再来。
这就是我的论点,跟胡鞍钢说的不是一档子事,我不太明白他们争论什么,大概他们也不会很了解我们软件技术中的这些观点。我认为过去3G缓行是对。我是基于软件技术观点来说的。

2. Longhorn引导“没有软件”的时代

孟岩:这么说来,Longhorn实在是太值得关注了。您参与了Longhorn的一些开发是吗?
陈榕:是的,我参与过Longhorn三大支柱技术之一Indigo的部分开发工作。
孟岩:那您对于Longhorn的意义应当是非常清楚了。能否给我们概括一下,Longhorn到底意味着什么?Longhorn的三大技术,Avalon、Indigo和WinFS是个什么关系?
陈榕:先说说Avalon,它要在用户界面层次上把程序与数据统一起来,把浏览器界面与应用程序界面统一起来,程序代码和网页都可以下载。而Indigo是提供一个安全可靠的运行环境。代码下载以后,应当在哪个ApplicationDomain中执行?如果权限不够,能否在远端执行?这通过Indigo可以做到,Indigo利用程序中包含的metadata信息可以在远端分配资源,执行应用程序。请注意,如果没有metadata的支持,这件事情绝对做不成。再说说WinFS。你大概知道WinFS把文件系统做得跟数据库很相似,本机上的WinFS其实就相当于整个Internet的一个本地cache。这有什么好处呢?我们说未来所有软件都应该通过URL来定址。现在我需要一个软件了,根据它的URL我先通过WinFS搜索本地cache,这个是非常快的,搜索不到就到网上去下载。这个这个过程是完全透明的,把网络与本地系统统一起来了,而且速度很快。除非你非要把文件“另存为”到什么地方去,否则你不会觉察到硬盘的存在,甚至没有这个概念。传统的文件系统因为其工作方式的限制,在这种应用时效率偏低,而且文件系统中文件的属性也太少,不够用,查找起来也不方便。
现在综合起来看,人们用上Longhorn之后,软件可从网上透明下载,下载了之后可以放在一个受控的、安全的运行环境中运行,还可以借助本地cache提高效率。这几点都具备以后,你就可以完全不用关心软件下载和安装这回事,运行软件也非常安全。这样一来,软件这个概念就不必要了,什么文件格式也就不必要了,软件完完全全变成了服务。比如我想看这个录音机的说明书,现在你要怎么做?首先一个看,好,这个说明书是PDF格式,那么我要看PDF该用什么软件?问问朋友,啊,应该用Adobe Acrobat Reader。好,在网上一搜,搜到了,下载,安装,这才能打开这个PDF文件。软件变成服务以后是个什么样子?厂商提供了一个说明书给你,这个东西里面是PDF,把它打个包,你都不用去关心它是什么,直接执行它就行了。它的metadata里指明阅读这个说明书的内容需要用Acrobat Reader,并且有Acrobat Reader的URL,这样就可以首先看看本地cache里有没有Acrobat Reader,没有的话从网上下载一个来执行,这样就把这个说明书给显示出来了。整个这个过程,用户根本就不知道有Acrobat Reader这个东西。再举一个例子,梁肇新发明了一个媒体格式,有人用吗?没人用。为什么没人用?因为你这个格式不标准,非要装他的解霸才能看。如果软件变成了服务,这个电影打了包,包里面的URL指到梁肇新的解霸,那么就有人会用这个格式,而且用了也不知道。谁关心呢?
孟岩:那就是租软件了。
陈榕:对,rentware。到了那个时候,新的问题就来了,就该胡鞍钢那样的经济学家们去研究研究,老百姓没有软件概念之后,失去品牌的软件企业和软件产业如何发展的问题。软件企业今后更多是靠跟运营商分成。
孟岩:运营商成了老大了,做内容的也很滋润,反而是做软件的成了透明人。
陈榕:整个产业的基础结构都发生变化了。所以这是一个巨大的变化。
孟岩:这件事情在技术上完全可能吗?
陈榕:有了metadata,现在就完全可以实现。
孟岩:对于用户也是特别好的事情。
陈榕:没错。不过是不是真能成为现实,还有很多其他的因素来制约。
孟岩:所以说现在网上争论什么3G、4G,如果说有不同,也不过只是量变,而Longhorn一出来,展现的是一些质变的东西,是吗?
陈榕:完全正确。软件有没有metadata是绝对的分水岭,绝对的巨变。有metadata,就可能步入工厂化的时代,没有metadata,就完全不可能。有了metadata,软件就无处不在,也就没有了。没有软件,也就没有微软、Adobe这些品牌。请注意到,驱动程序也是软件,也可以被透明掉,驱动程序透明了,硬件也就没有了。你需要的只是打印照片的服务,至于是HP的打印机还是Canon的打印机,根本就不用关心了。所以硬件的概念也没有了。这是多么大的变化!佛家讲究一个“空”字,什么都可以“空”掉。我觉得软件发展已经快到“空”的境界了。
孟岩:不得了!我听说Longhorn也只是一个过渡,后面还有更科幻的操作系统,是吗?
陈榕:不就是Blackcomb吗。你知道Longhorn这个名字是怎么来的吗?
孟岩:不知道。您给我说说。
陈榕:温哥华北面有一个北美最好的滑雪胜地,微软很多人喜欢到那里度假。那里有两座山,一座叫Whistler,另一座叫Blackcomb。Windows XP的代号是Whistler,而Longhorn之后的那个Windows代号是Blackcomb。那么Longhorn又是怎么回事呢?在那里滑雪的人,一般先从Whistle山上滑下来,然后到两座山之间的一个小酒馆去休息休息,再去滑Blackcomb。这个小酒馆就叫做Longhorn。所以很清楚的,Longhorn是从NT体系的顶峰Windows XP迈向新高峰Blackcomb中间的一个过渡系统。
孟岩:原来如此!现在产业里常有人提3C融合的概念,就是计算机(Computer)、消费电子产品(Consumer Electionics)和通信(Communication)的互相融合。到了Longhorn及以后的时代,是否这种融合就实现了?是谁融合了谁?
陈榕:不是谁融合谁,而是从根本上更新换代。现在有些智能手机不断增强功能来模拟一个小PC,这种思路正确吗?这是3C融合吗?我不这么看。这不能从根本上解决问题。刚才说了,如果没有软件了,硬件也就没有意义了。这个东西是电视还是电脑,还是网络终端,没有分别了,它只是让你享受各种服务的一个设备,这不就融合了吗?
孟岩:微软引导这样一个潮流,让软件的概念从大众的视野中消失,最后会不会是自掘坟墓?
陈榕:这倒是产业经济学家们应当讨论的问题。但是无论答案是什么,微软必须得干。为什么?因为微软是高科技公司。说实话,metadata这事并不复杂,你要是老不动手,说不定谁想通了,去注册一个专利什么的,微软就无论如何绕不过去了,那么这家公司就没前途了。股票市场认的是前途,一个没有前途的高科技公司,无论多大,18个月就会倒闭。历史上不是发生这个事情吗?1995年12月8日珍珠港事件纪念日,比尔盖茨发表一个讲话,说以后整个公司所有的项目都围绕Internet进行,为什么?不就是当时受到了网景公司Marc Andreeson的压力吗?现在是一样的,所以变革是不可避免的,顺之则昌,逆之则亡。

3. 关键是Metadata

孟岩:说来说去,一切奥秘都在于metadata?
陈榕:太对了,就是metadata,也可以叫做class information。没有这个东西的软件产品,无论吹得如何天花乱坠,绝对是没有前途的。有了metadata,无论他设计的时候出发点如何,就拥有了通向未来的一切能力。Metadata就这么关键。
孟岩:所以.NET如此强调metadata,而且在设计上要优于Java。您是否因此就认为长远来看.NET还是要比Java有优势呢?
陈榕:从技术上来说Java也包涵metadata,所以能引领世界潮流。但我认为微软对metadata的理解更深刻一点儿。原来VB的那个TLB其实就是metadata,所以微软在这方面有好多年的经验,设计上确实要比Java更一针见血。所以我还是比较看好.NET的。当然企业开发市场会有所不同,因为企业开发在软件产业里是以保守著称的,企业更在意稳定性、可维护性,对于新技术远远没有那么敏感,对于较高的费用也有能力支付。另外在手机上,.NET目前几乎是零,想要突破也很困难。我倒觉得这中间主要是政治原因,不是技术原因,微软功名反被功名误了。换句话说,微软的.NET在技术上和编程模型上确实有优势,但是最后是不是能“赢”,现在真是不好说。微软今年也步入而立之年了,后面要走好。
孟岩:您在微软工作了很长时间,看来感情还是很深的,而且您对于微软的技术路线和发展战略还是认同的。那么为什么您又回国来创办科泰世纪,推广和欣技术,走另外一条路呢?
陈榕:原因也很多了。其中之一自然是中年危机,如果不干点事情,这辈子就这么过去了。恰好我的特殊经历使我能有比较超前的技术见解,所以要去实践。微软的.NET是要跟Java全面竞争,对于传统的嵌入式、实时这个部分重视不够。我们则是要瞄准消费电子产品市场。再则,在技术路线上,我的观点跟微软也不是完全一致。我们的技术跟微软.NET方向相同,技术路线和市场定位不同。
孟岩:有什么不一致的地方?
陈榕:我说过,关键是metadata,有了metadata,软件就可以过渡到工厂时代。到了工厂时代,夸张点儿说,我觉得软件开发会出现一个回归,反而用C/C++甚至用汇编来写模块成为时尚。为什么?因为到那个时候用软件零件“攒”应用,每个零件都要拼质量、拼价钱。所以我不赞成所有软件都使用C#、VB这样的高级语言来开发。系统软件就应该用C/C++来写嘛,我把metadata给你配上不就完了,为什么非逼着我用C#写,写完了还非要编译成IL呢?我直接用C/C++来写,不是效率更好吗?有了metadata,C/C++现在的劣势都可以被克服,而优势可以充分发挥。我认为Longhorn迟迟推不出来,主要原因是因为微软的技术路线定位不准确。
孟岩:这就是“和欣”的思想。我们下次来集中谈谈“和欣”的技术思想。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值