架构之书:我们从何处来?我们是谁?我们向何处去?
题图是保罗·高更的一幅画,画的名字就是“我们从何处来?我们是谁?我们向何处去?”这幅画是作者在自杀前完成的,算是对自己的一个剖白,不过自杀未遂,所以后面还有“两个大溪地女人”等画作。画幅很大,画面元素也很大,还有很多隐喻,简单来讲就是从右边的婴儿,逐步过渡到左边的老妇人。
高更是一个传奇人物,1848年出生,在证券交易所工作,中年开始学画,38岁才第一次有画在沙龙展出,一生不得志,55岁去世,死后才出名,画这幅画时49岁。毛姆的小说《月亮与六便士》就是以他为原型来写作的。
回到架构,大家也许看过《人月神话》,这本书讲了软件开发的一个大问题,复杂度提升的时候,软件变得完全不可控。这本书提出了问题,但没有给出太好的答案。这本书在1975年发表,距今已经45年了。这本书算是我对“我们从何处来”的答案,这儿有一个软件复杂度的难题,需要有聪明的人来解决这个问题,需要新的方法论,就诞生了一个新的岗位:架构师。
我们通过一代代的理论与实践的迭代,现在软件的复杂度已经不再是一个无法驾驭的问题了,更多只是要投入多少资源,多优秀的资源而已。现在我们面临的更多问题还是商业模式的问题,而架构、软件只是实现这个商业模式的方法而已。
软件有一个很神奇的性质,在于我们可以不停地通过抽象来避免重复工作。早期我们在汇编层面写代码,后来我们用高级语言来简化工作,甚至出现了SQL这类直接描述目标的语言(而不是描述如何执行)。除了语言层面,我们还在不停地引入中间件,引入PaaS,引入SaaS来简化我们的工作。但未来会是如何呢?
我觉得AI会进一步入侵软件开发的领域,包括了 TabNine 这种AI辅助的联想编程,包括了RPA这类的免编程系统对接方案,还包括了很多AI附件的前端原型到代码的自动转换工具,这些东西现在都不成熟,我也不觉得是未来的最终形态。
我觉得未来会出现一个精确描述需求的语言,我们可以通过 GAN(Generative Adversarial Networks,生成式对抗网络) 来生成一个神经网络来实现我们描述的需求,也许会生成代码,也许不会。大家也许会担心没有代码是否会影响逻辑的表达,但仔细想一想我们的大脑是如何计算1+1=2的,大脑中并没有一个逻辑的东西来定义加法,但我们通过大脑神经这种不太精准、不太讲逻辑的组织,却可以稳定地输出1+1=2这个结果。
未来啥时候会来,我也不知道,但我很有信心,在未来,GAN这样的方法可以生成能够满足我们所精准描述的需求的程序。
版权声明: 本文为 InfoQ 作者【lidaobing】的原创文章。
原文链接:【http://xie.infoq.cn/article/3056c7b632ac0052e02cced63】。文章转载请联系作者。
评论