时间:2015-09-14 21:16:00 来源: 复制分享
《金融时报》撰文称,如果代码能自动编写代码,程序员的角色可能发生巨大转变。未来,多数程序员可能变成电脑“训练员”,他们将教电脑编写代码和理解人类的语言指令。
文章全文如下:
互联网时代有一条定律:人工总比软件做得好。但说起编写软件这种事,更多的是重复劳作和枯燥无味。软件编写软件不是更有效率吗?代码不能编写代码吗?
如果代码能够自动编写代码,那么我们不妨套用硅谷的一句口号:软件会吃掉世界,也会吃掉软件。
自动编程
伦敦大学的一支计算机科学家团队正在开发这项技术。他们不仅要让编程工作摆脱低效率问题,还要转变多数程序员的角色。
研究团队成员吉拉姆-布夏尔(Guillaume Bouchard)表示:“我预测,下一代计算机语言不是电脑语言,而是自然语言、人类语言。如果你对电脑说,‘写一款鲨鱼追人的电脑游戏’,电脑可以理解你的语言,自动编写游戏。你可能还会说,‘让鲨鱼凶狠一点,游得快点’,电脑将修改代码。”
尽管这种设想听起来很遥远,但今年底,一家称作Bloomsbury.ai的衍生公司布夏尔为联合创始人将公开演示新技术,毫无编程基础的人可在数分钟内执行复杂的数据分析操作。
Bloomsbury.ai称,通过训练,这种虚拟助手可以应用于所有领域,包括艺术创作和消费产品。
布夏尔表示,在这样的世界里,多数程序员更应该被称作“训练员”。他们教电脑编写代码和理解人类的语言指令。
Queue Software是另一家站在“代码编写代码”技术前沿的公司。Queue总部位于美国北卡罗来纳州罗利市。Queue联合创始人兼CEO艾丹-康尼夫(Aidan Cunniffe)表示:“未来6到10年,你可能看不到像iOS邮件这样拥有大量用户的应用。举例来说,如果你去主题公园游玩,你想跟踪孩子的行踪,只要把想法告诉设备,设备很快就能写出代码。”
但是,Queue更为关注短期目标。今年1月,Queue推出自动代码编写平台Dropsource。Dropsource可以根据用户输入的目的和功能编写程序。编写程序时,程序员会考虑常规方案。这套系统可以从中选择最佳的设计和开发方案。
不到一秒的时间,Dropsource就可以完成代码编写工作。但通过正常渠道,设计师和项目经理要与开发者合作,从零开始编写代码,即便他们以前已经做过很多次几乎相同的工作。
目前,一些开发商已经利用Dropsource开发iOS应用。
另一个佼佼者是纽约公司Bubble.is。Bubble.is提供支持拖放操作的可视化程序开发界面。同样,Bubble.is无需编程知识。
实际需求
布夏尔预计,全球大约有1100万程序员。“这些人一直训练将他人的创意翻译和转变成另一种语言的技巧。这种编程工作大多万分辛苦他们本可以在其他领域发挥聪明才智。”他说道。
计算机语言是现代世界无形运作的力量源泉。开发者掌握计算机语言,而绝大多数人毫不了解。新一代编程技术有一个共同的目的,那就是向开发者和大众开放科技创新、创造和自我强大领域。
但是,新一代编程技术还有更加实际的需求。如今,我们对开发者的需求远远超过供应。这个问题抑制创新,并抬高成本。在硅谷,由于受到巨大诱惑,开发者不断跳槽。同时,针对初创的创业孵化器聚集着寻找联合创始人的创业者。对于拥有技术的联合创始人,毫无科技背景的创业者通常无法评判其编程水平。
程序员的角色
当然,有些人对自动编程技术的潜力持怀疑态度。毕竟,即便是简单的指令,软件工具依然需要耗费更多的资源。起步阶段,自动编程技术确实没有任何实质性的革新。
在线教育平台Coursera联合创始人吴恩达便是一位怀疑论者。他表示:“过去几十年,为了创造更优秀的开发工具,开发者做了大量工作。一方面,开发工具已经取得巨大进步。另一方面,编程的真正难点在于搞清楚你希望在软件中表达的东西,这部分工作的确耗费时间,很难自动完成。”
但是,有些编程工作不需要这种创造性表达方式,自动编程技术有望在这些领域发挥作用。
自动编程技术研究人员斯科特-巴斯托(Scott Barstow)表示:“很多编程工作旨在表达新颖奇特的概念,但高薪、低技术含量的编程工作依然很多。我认为,最严重的价值流侵蚀现体现于死板的任务,初级开发者每天为此忙碌。”
Queue CEO康尼夫持同样的观点。Queue最初为华尔街金融机构和科技初创编写程序。“我们反复开发同样的程序。我们意识到,如果不再浪费精力和成本,这将是更加有趣的事情。我们便研究如何自动编写90%的代码。”康尼夫说道。
如果Queue、Bloomsbury.ai、Bubble.is和其他公司实现目标,它们应该可以大获成功。顶尖程序员仍然能够编写代码,但对于多数程序员来说,他们的角色可能转变为方案设计者,而不是底层代码编写者。
巴斯托表示:“程序员时薪为160至200美元,他们每次都编写几乎相同的代码。尽管如此,程序员的需求量依然巨大。很多公司让第三方或内部团队重新编写应用,重复工作非常多。如果你花75,000至100,000美元,让一支开发团队编写一款应用,我会说,程序员一遍又一遍地编写同样的代码,50%的资金都被浪费掉了。”