2013年6月23日星期日

Ruby之父松本行弘谈《代码的未来》


http://www.ituring.com.cn/article/45484

伊藤:您刚刚讲的这些,在本书的最后一章“多核时代的程序设计”中也进行了总结吧?
Matz:是的。不仅是多核技术,云计算的发展状况基本上也是这样的。
在计算机中有多个CPU的话即为“多核”,在网络中的话即为“云”。总之,预测软件开发的未来的关键词应该集中体现为“如何运用多台计算机”。
伊藤:那么,在引入了多核技术和云计算之后,您认为软件开发者应该如何改变工作方式呢?
Matz:就目前的变化来讲,这10年间,
基于Web的开发不断增加,Web应用的可扩展性很强,是一种适于分散设计的应用架构,所以熟悉Web的人,对多核和云计算的概念也会比较熟悉。与只了解通用机架构的工程师相比,他们应该更容易适应。
伊藤:在采访从事Web服务和智能手机应用开发的新兴企业时,我们感到,在这一两年,利用PaaS和云技术从事服务开发的工程师在快速增加。
Matz:是的。我也认为今后“公司在开发过程中不必购买主机的方式”会成为主流。而且,“不持有”这种思考方式不仅对开发很重要,对企业经营也会产生重大影响。

迈向“持有”不是资产而是负债的时代

Matz:以前,“持有”被认为是企业活力的源泉。拥有高性能通用机的公司能快速处理各种业务,而无法购买昂贵的通用机的公司只能兀自打着算盘……
但是,如今“未持有”的一方反而有利。配备计算机硬件的话,收回成本需要5年,这期间必须让机器充分运转、物尽其用。这种方式表面上看好像有利于压缩成本,但实际上使用旧计算机,会降低生产力,成本反而更高。
也就是说,现在我们已经步入“持有不是资产而是负债”的时代。如果配备最先进的设备,那些优秀的工程师就可以进行高效开发,但仍然有一些人还在使用3年前的旧机器,那也难怪仅仅编译就需要一个小时(笑)。Heroku等云平台的诞生,使得开发中“持有者的优越感”荡然无存。
另一方面,“不持有”的好处也体现在了商务上和开发上。比如,受其影响出现了许多新兴企业。以前,想要创业必须具备一定数量的储备资产,用于向数据中心投资、向服务器租赁公司购买10台服务器等。然而,现在只需要使用Heroku即可,最初的1节点是免费的。这样一来,创业之初,除了进行开发,程序员们会花一些时间以外,几乎没什么风险和成本。
我曾经读过美国投资公司Y Combinator的创立者保罗•格雷厄姆写的一篇短文,其中有一段我深有同感――“现代的新兴创业公司的团队人数很少,只要能挣够供大家吃方便面的钱,他们便会开始新的挑战”。这一断言岂不妙哉!“不持有”的灵活性和快捷性,正是推动有能力的人不断挑战的后盾。这一趋势不仅只体现在新兴公司内,从前年开始,这股风潮已经影响到了一些大企业。
在美国,迪斯尼和百思买等正是利用Ruby、Rails和Heroku,迅速地以低成本构建起了本公司的服务体系。此前,只属于投资公司的特权的“新服务开发的迅捷性”以及“开发的灵活性”已经不再由他们独享。

伊藤:您为什么认为软件开发的前景不容乐观?
Matz:传统的软件开发仍然是主流。虽说在安装Web服务的最终环节中使用了Amazon的云服务,但整个开发流程与过去没什么不同。通常仍然是由没写过一行代码的系统工程师来完成设计。一个软件开发团队动辄出动十人,这种情况很多见。
这与刚才所说的“不持有主机所带来的优势”完全相反。仅从皮毛上引入流行技术的开发案例并不少见。
我对“私有云”(又称内部云或企业云)感到无比失望。这是因为,云服务的最大优点就是在网络中使用多台计算机,而私有云的服务对象仅仅是公司内部的若干台计算机。这本质上不还是“拥有自己的主机”吗?这样可不行啊。

没有评论:

发表评论