不知道有多少人记得这个十几年前流行过的张总系列:
不是,张总,您在家里的电脑点击了复制,再到公司的电脑点击粘贴,是不行的!
“为什么不行,要多少钱的电脑才行?”
~不是,张总,这不是多少钱的问题……
但是现在呢,张总在家里的iMac上点了复制,到公司的iMac点了粘贴, It is there.
现在流行这样的:
我是想做一个像淘宝那样的网站,在哪里能免费下载到那样的程序!谢谢!
客服在回答张总问题的时候,应该是没有想到剪贴板云同步的,因为毕竟从那个时候到现在,也是十几年过去了。同样的,人工智能现在的发展,距离写工业代码远是有点远,但是我反对 @henix 引用的王垠的观点。因为不能用过去的框架去套未来的发展。
诚然现在编程的目的就是严格的告诉计算机做什么,干说“我想要搞一个在线商城,像淘宝那样就行”,是肯定不行的。所以我们才需要沿着:需求 -> 模块化 ->编写 ->反馈 这个循环来最终得到一个可用的软件产品。
为什么会有这个流程?因为人肉写代码太慢了,然后改代码更是一个大工程,甚至于比写代码更痛苦。所以要在事先尽可能精确的知道需求,然后进行相应的开发。尽量在后期只微调,不大改。不然工程量大,也无法按时交付。
但是机器不一样,机器强大的地方就是在速度,人工智能写代码可能模式就和现在有本质区别,我设想的人工智能编程是这样的:
我们再也不需要先确定需求,只要大概的说:“我想要一个淘宝那样的网站,建一个给我看看”。然后系统就会先在后台用最标准化组件的组件搭建一个微型的淘宝的网站;
然后你浏览了机器给你编写的成果,发现“这个搜索框是不是像Bing那样好一些?”然后人工智能就在后台开始添加删除各种模块并且编写相应的程序,一小会又完成了;
随着你不断的试用机器给你编写的产品,你不断的发现自己的需求,提出自己的修改意见,然后人工智能对人隐藏一切的技术细节,只对人们提出的需求做出反应,没有需求的地方默认处理,只有当人们看到这个默认值不满意的时候才进行修改。
其实现在所谓快速迭代,MVP方法(minimum viable product) 都是这样的,只是现在我们写程序还是以人为主导,而人力无论从时间还是金钱上都是很贵的,所以还需要很多前期的设计和规划,以便于更好的利用人力。但是如果把所有的程序员都换成人工智能,那么可以从一开始就天马行空的从一句话的需求就开始做MVP,然后等客户看到MVP之后,随着客户一条一条的指令不断的把产品修改成最终客户所希望的那样。