2000-2010年,是世界软件业蓬勃发展的10年,其中诞生的明星级产品和应用可谓汗牛充栋。那么,在中国的开发者心目中,有哪些占据更重要的位置呢?不久前《程序员》杂志联合CSDN网站做了一个“2000-2010十大最具技术影响力产品(国外)”的用户调查,评选出10款得票最高的软件产品。
Facebook真正解释了“社交”,接入网络,登入Facebook,你就进入了另一个世界:这里有你的好友,你的圈子,你感兴趣的事件……这一切是虚幻的,但又都有现实依据——从Facebook诞生开始就强调“真实”,所以它上线的最初4小时就收获了22000次照片浏览,也确实很少有人在Facebook上匿名。
Facebook还是力推Open API的典范,它很早就提供了相对完备的API,并且依据形势需要不断修改,目前已经吸引了大量第三方开发者,涌现了大量有趣的应用,并促生了Aynga这样可能具有划时代意义的公司,这种模式也为许多后来者所效仿。另外要提的是,Facebook中的一切都是Google的“黑洞”,这其中蕴藏着颠覆性的潜力。
Eclipse原本是IBM加拿大的一个项目,最初只是希望做成Java的IDE(它也确实做到了),但是今天,依赖开源和插件两大利器,Eclipse已经远远超出了Java IDE的范畴,演化成一个无所不包的大平台。虽然过多插件也容易造成问题,众多插件“拱卫”下的Eclipse已现臃肿,但是瑕不掩瑜,借助Eclipse,你可以跨平台进行各种开发:PHP、Python、JavaScript和C++程序,虽然或许没有开发Java那么方便,但Eclipse确实“够用”了,而且,它是免费的!
从另一方面来说,把Eclipse捐献出来,也符合IBM从软件厂商向服务厂商的转型,围绕一个平台营造出大生态系统,让大家共同受益的做法,值得国内厂商学习。
要澄清的是,按照Lee Nackman的说法,Eclipse的取名,并没有与Sun针锋相对的意思,而是希望与微软的Visual Studio对垒(Eclipse的前身是基于Smalltalk的VisualAge)。不管这说法是不是真的,总之到如今,太阳已然西去,日蚀却远未消褪。
2006年才诞生的Twitter虽然历史不长,但已无需太多介绍。Twitter向人们证明,只要足够精练,足够快,“碎碎念”的信息也有价值,所以Twitter也顺理成章地把关注从“你在做什么”改成了“现在发生了什么”,如今,每逢发生各种重大事件,Twitter几乎都成了最及时的新闻源。
Twitter也提供了相对完备的API,虽然它的API与Facebook不同,更专注于让用户更方便地发言,让信息更迅速地流转和展现;也正依靠这些API,有人感叹说Twitter是“打不死切不断的”,或许唯一的例外在于Twitter相对频繁的宕机。
Twitter的另一点重大意义是降低了发言的门槛,在互联网上表达自己的看法,从泡论坛,到开博客,到发Twitter,发言的门槛不断地降低,平时默默无闻的人也有可能说出一两句“金句”,名人们也乐得在Twitter上与观众和粉丝互动——要知道,你说的任何话,几乎总可能通过Twitter的“人肉路由”,传到感兴趣的耳朵里。
2004年4月1日,Google宣布推出容量“高达”1G的免费邮箱:Gmail。当时许多人认为这是个玩笑,但Gmail是真的,而且,它开创了电子邮箱的新局面。在Hotmail只有2MB空间、Yahoo mail也只有不到100MB空间的时代,Gmail提供了近乎无穷的空间让用户释放想象力,如今流行的“网盘”就脱胎自容量超大的邮箱。而且,Gmail从一开始就提供了全新的用户体验,通过Web收发邮件不再是痛苦的差事,甚至比不少客户端软件都要顺畅,有时你甚至可以用它与人聊天。
Gmail算是Google相当成功的产品了,虽然它并非用户最多的邮件系统,但正是依靠它,用户才开始,也才有理由在Google注册,基于此,Google近年来提供了一系列针对个人的服务,个性化搜索也才成为可能。
.NET是一个很难介绍的东西,因为从它创始以来,几乎每年所代表的含义都有变化。微软最开始开发这个系统的时候,并没有真正规划好未来,或者说,微软规划的未来和今天的实际差距很远。而从另外一方面看,这也说明了,.NET确实一直在代表“最先进的生产力”,几乎所有流行和有效的技术都能在其中找到。
.NET成功改变了Windows系统下的开发生态,让开发变得更容易,让更多人可以在这个平台上开发程序,也让微软在这个互联网时代多少保住了一些份额。值得一提的是,.NET上C#迅速发展,已经成长为最先进的主流语言。
Ruby on Rails(RoR)是一种基于Ruby语言的快速Web开发框架。对于Web开发方式,RoR出现相对比较晚,但开发速度最快。据RoR爱好者说,这种快来自诸多细节,难以简单形容,必须要亲自用起来才能感觉到。
不管怎么说,对于大量创业小团队和个人,这是非常令人激动的平台。有了RoR,他们的创业成本低了很多,一个想法可以在很短的时间内变成现实,上线给用户用,这虽然要付出性能的代价,但在这个时代性能损失已经越来越不是问题。
采用RoR的成功案例是一个耀眼的名单,它们都是这几年创业成功的应用,这个名单上有Twitter,Hulu,Github……
这是一个神奇的互联网产品。没有广告,完全依靠外部捐助,但它却是全世界访问量第七大的网站,与“通过亿万美金的投资、庞大公司员工和不断的市场营销来建成与维护的”Google、Facebook、百度、腾讯等并驾齐驱。
是的,它就是Wikipedia(维基百科)——过去十年最伟大的计算机项目之一。它还完全有资格入选人类历史上最伟大的人工工程之列。它的成功,可以视为理想主义的胜利。
从技术角度来看,以开源理念建立起来的Wikipedia也有很多可称道之处。它的支撑软件MediaWiki获得了Usenix的2010年STUG大奖。此外,网站的底层也是LAMP架构的典范之一,有诸多亮点。2007年,200万美元和6个技术人员就支撑起了整个Wikipedia。直到今天它的技术人员也不过22名。
Foursquare是基于地理位置(LBS)的SNS应用。在此之前,基于地理位置的探索有很多,但都不太成功。Foursquare第一次成功地把地理位置、商家、游戏式的勋章系统结合起来,利用了Twitter的社会化特征,又正好是移动设备快速增长的时期,于是Foursquare迅速成功了。
LBS服务让我们看到了信息的一个新的维度——基于空间的维度,这与微博的基于时间的维度很相似。除此之外,更有趣的是他们的服务运行在一堆VPS和Amazon的S3服务上。在这个时代创业变得越来越简单,云的出现改变了整个生态链。对照Hadoop来看,会发现很多值得思考的点。当然,这种创业方式距离中国还有很远、很远……
iOS几乎不需要介绍,因为iPhone和iPad的光芒实在太耀眼,你可能会喜欢或者讨厌iOS,但如果你不知道,那实在是不可思议。iOS真正让移动设备普及,并把我们带入基于应用(App)的应用模式,App变成一种使用模式,同时也是一种消费模式,直接改变了很多的人生活方式。
iOS开创了一个新的时代,改变了用户是前所未有的购买软件的习惯,带来了体验精致软件的乐趣。对于程序员,这是一个新的创业机会:在桌面平台,软件越来越不重要,但在移动平台,软件的生意刚刚开始。
Hadoop是一个分布式开源计算框架,或者用当下时髦的方法,是一个云计算框架。Hadoop脱胎于搜索项目Nutch,刚刚出现的时候,分布式计算只有少数网站需要,其他网站的规模还不够大。但在今天,一个好的应用可以在短期内迅速达到单机无法承担的程度,一个开源的分布式计算框架对他们来说是非常重要的。
Hadoop并不是一个简单的产品,而是一套开源代码,对于程序员来说,这是一个巨大的宝库。互联网和移动互联网产生数据越来越快,分布式也越来越重要,Hadoop也会成为更多公司的必需品。
(本文来自《程序员》杂志10年12期)