你可能会觉得自动化的软件开发是一个奇思妙想,甚至觉得这是不可能的。但是遗传编程告诉我们nothing is impossible。软件会产生变异,改变它们的指令,努力顺利发展以变得更适合。在每个突变后,它们将自行评估它们是否正趋向于期望的输出。这里对于合适的评估是由测试提供的。而且是大量的测试。这些测试都封装了经过时间、空间和功能性制约的业务逻辑。突变越合适,通过的测试越多。这是值得重申的是,我们不应该关心生成实现的细节。事实上,生成多个符合要求的解决方案是完全合理的。要减少解决方案只需要增加更多限制问题就可以了。
软件开发人员的传统角色将会被淘汰。他们很快会被重新定位到设计、开发和维护测试。即,计算机的程序设计将变得不必要,因为它们自己就能编程。这种范式将对软件行业产生翻天覆地的影响。改变业务需求,直接改变测试,而这会触发软件自动化的进化。修改现有代码,以满足新兴需求的压力将一去不复返。计算机会做好这件事:因为它不会有重新开始的顾虑。它也不关心可维护性,并且最后一定更兼容不断变化的业务需求。
说了这么多,我决定把将来的重心放到测试上,以应对将来软件行业的变化。那么,你呢?
英文原文:Software Developers Will Become Obsolete 翻译:codeceo