开发者的眼界

 

3月中旬我受邀参加微软MIX10会议,有幸与国外许多技术专家面对面交流。印象最深的,是他们都有开放的心态和开阔的眼界,对未来和变化抱有乐观的态度,没有太多门户之见。与此同时,微软此次开放、自信和勇于拥抱变化的姿态,也让我对这个称雄业界数十年软件帝国有了更多钦佩之心:Windows Phone 7是一个全新的操作系统,开发团队本身就具有丰富多彩的背景,除了来自内部各产品团队的精兵强将之外,还有耐克和宝洁的强援;初次揭开面纱的IE9则前所未有地高调支持Web标准,换用了JavaScript引擎;Silverlight讲座里有专家大谈如何向Flash社区学习;主题演讲里Dallas项目的演示用的是Palm WebOS手机,而演讲者则公开声称自己是苹果粉……详情参见《程序员》杂志第4报道体验微软2.0》)

在我的记忆中,微软技术社区曾经是封闭和偏狭的代名词。几年前,Micah Martin在解释为什么要为父亲——技术大师Bob Martin的名著《敏捷软件开发》专门出C#版时在他指导过世界各地有广泛代表性的开发者中,.NET程序员总体上要比JavaC++程序员差尤其是在敏捷软件实践、设计模式、设计原则等方面。狭隘还不仅限于编程领域,银杏泰克的郝培强最近在引起广泛关注和争议的文章《为什么我认为每个程序员都应该用Mac OS X中指出,绝大多数Windows程序员,关注用户体验的经验和意识都不足。

这种狭隘和封闭其实也是国内整个技术圈子的通病。国内微软阵营里许多人一度对微软公司之外的技术、平台、实践都不那么关心微软2000年力推.NET,近年来全面拥抱敏捷、云计算、开源等等软件开发大趋势的时候,他们甚至对这些最新动向也持观望态度,懒得跟进了。

非微软阵营呢,虽然总体上对新东西要敏感一些,但很多人的心态也同样偏狭,这集中表现在某些人对微软技术不懂装懂、喜欢动不动就骂上几句以自显高明的“恨微软症”。.NET技术专家赵劼在《谈谈微软技术,以及对待技术应有的态度》一文中谈到,很多习惯性贬低微软的人其实对微软最新的技术发展并没有太多的了解,所提的批评意见多基于多年前的陈旧印象。

而事实上,这些年来微软无论是平台、工具还是技术的积淀和成就都有目共睹,在社区合作理念上也有了很大转变。.NET作为平台已经相当成熟,C#可以说是最锐意进取的主流语言,而Visual Studio 2010已经成为完整支持软件生命全周期而且兼顾各种主要新趋势的强大开发平台。微软技术社区包括许多微软平台上的开源项目,都处于前所未有的蓬勃发展态势。

曾经的固步自封使微软错过了Web 2.0革命,IEWindows Mobile口碑不佳给日后的竞争带来了不少后遗症。而技术人员忽视其他平台、技术、方法和开发流程的优势和进展,也必将造成自身的眼界有限、格局狭小,逐渐落后于时代。

我们正处在一个巨变的大时代前期。在后端,以互联网为中心的云平台有大一统的趋势,甚至会整合家电、广播电视、媒体出版等其他行业。而在前端,日益多样化的设备和用户界面、产品体验成为竞争焦点。巨变的结果很可能是一片沧海桑田,现在我们熟悉的平台、技术、语言、工具以及所依赖的各种技能都可能被取代。毕竟,从普通用户的角度来说,现在的IT技术和产品还是太难用、太昂贵了,要达到微软设计大师Bill Buxton所提倡的自然用户界面的目标,还有很长的路要走,其中变数极多,作为开发人员,抱残守缺,坐井观天,很可能付出不能承受的代价。

怎样应对?

学习微软和其他领先公司(GoogleFacebookApple……),博采众长、不断开拓自己的眼界,培养自己的独立思考习惯和多元视角。名著《程序员修炼之道》《高效程序员的45个习惯》的建议仍然极具价值:尝试学习新的语言和框架,试验不同的平台环境,多理解新词背后的所以然,把握技术大趋势,参加技术活动,多与业内高手交流,坚持多读书,读好书,当然,更包括坚持订阅和研读技术杂志比如《程序员》:)

此外,我认为多读技术史和人物传记方面的书,学习更多设计和心理学、社会学等方面的知识,也非常必要。

 

【刘江按】

此文发表作为卷首语发表于《程序员》杂志2010年第4期。这一期对Visual Studio 2010进行了充分介绍,如果你是微软平台或者C++程序员,推荐一读。

事实上,IT历史上眼界发挥关键作用的例子屡见不鲜。别的不说,文章发表后不久的一天夜里,我在读一本OSGi著作时发现,OSGi虽然已经成为企业级Java领域的核心标准,却是从嵌入式系统领域发展起来的。当然,Java最初的设计目的也是用于嵌入式系统(也许那时候还不这么叫)。

 

阅读更多
个人分类: 总编观察
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭