|海南森鹤实业有限公司

获取方案
当前位置:
软件开发的过去、现在与未来
来源:AI带路党 | 作者:travel-100 | 发布时间: 2024-06-19 | 458 次浏览 | 分享到:

最近应该是在知乎上回答一个问题《你的编程能力从什么时候开始突飞猛进?》这里时,又重新思考了一下,软件开发是什么?这个问题可能在过去、现在与未来是完全不同的。


你的编程能力从什么时候开始突飞猛进?  


  • 过去的软件:数据处理是核心

  • 现在的软件:基础功能完成后UI/UX更重要

  • 未来的软件:AI代替你完成一切


过去的软件开发

在过去几十年,应该是一直没有变化的,软件的开始核心是数据+算法,也就是从外部接收数据后,要做什么样的处理,然后再输出什么样的数据。


举个例子吧,你从外界获得了一段图像,你怎么样处理获得相应的统计信息?最后一次更新时间是什么?更新时的comments是什么?然后这个数据获得后,你要发送给谁呢?


这些就是过去的软件处理逻辑,从数据到数据,中间使用的是算法。



在这中间主要的变化是 面向过程的开发,它就是最纯粹的 数据+算法。随后呢,因为软件理念的变化,增加了 面向对象的 软件开发。然后又有 什么各种软件工程的基础模型从 瀑布到V字型,从V字型到螺旋,从螺旋到迭代,从迭代到敏捷。现在基本上算是稳定在敏捷吧。因为它是最容易得到MVP,同时也比较好的兼顾的时间与质量的平衡。


所以软件的核心就是 数据、数据处理算法、再加上一些基本的管理理念。


现在的软件开发

随着芯片/硬件的性能越来越好,大家发现,软件有一个良好的UI/UX,更容易得到用户的青睐。那自然大家就会发展出大量优秀的UI/UX,最典型的可以说有三种吧:


Apple的、Google的、Windows的三种完全不同风格的UI,好吧,也是越来越趋同的。因为这个世界的认知暂时还没有大的差异。




基本的窗口元素还是基于Windows这个窗口的祖先同步到了所有的软件开发世界:Button、TextField、RadioButton、Combox、tab、windows、processbar、scrollbar、还有一些其它元素。


在这些元素的支持下,我们获得了现在软件开发的基础UI/UX,所以现代的软件开发呢?


在完成基本功能的前提下,大家在拼命的把交互与界面搞得越来越花哨,你既可以认为它变好了,也可以认为它在没有核心突破的情况下,走到了一条牛角巷,可能也走到了尽头。


尽管这中间有过突破性的东西,MR/VR/AR这些吧,但是很遗憾,还没有特别成功的先例出现。


未来的软件开发

站在这个时间点来预测未来?可能AI是唯一的答案吧。


很明显,未来所有的App里都会嵌入AI的功能。我们现在的AI能力,如果很好的与现有软件功能结合起来,可能是一个质的提升吧。


比如我经常使用的AI软件:形色,用来识别我看的不认识的植物,这是一个典型的弱AI应用,它在植物识别的图像应用领域里完全超越了普通人的能力范围。也就是我们可以用它来增强我们在这一狭窄领域的能力。但是如果它在加上更多的现在GPT一类的AI的能力,是不是能交互得更好呢?不是简单的信息展示,再加上信息的有效交互,是不是一个更优秀的App呢?




当然,我依然觉得嵌入了AI能力的App并不是一个终极形态,未来的软件的终极形态是Agent,是由核心大模型驱动的各种不同的Agent。大家就像是同一个班级的学生,尽管基础信息接受的是一样的,基础的能力是一样的,但是依然能够出现更优秀的Agent,更普通的Agent,更差的Agent。


但是这些才是软件的终极结局。直接我们能够达到强人工智能的那一天,在那里,我们就不需要Agent了,只需要一个强人工智能,或者与你结合,或者代替你使用一切。


这才是软件的一生吧!