你知道程序员再过几年会没落?
《Computer World》杂志曾经写过一篇文章,说“编程到 1960 年就会消失”,因为 IBM 开发了一种新语言 FORTRAN,这种新语言可以让工程师写出他们所需的数学公式,然后提交给计算机运行,所以编程就会终结。
又过了几年,我们听到了一种新说法:任何业务人员都可以使用业务术语来描述自己的问题,告诉计算机要做什么,使用这种叫做 COBOL 的编程语言,公司不再需要程序员了。
再后来,人们又说,IBM 又开发了一种新语言 RPG,可以让任何员工填写表格并且生成报告,所以,企业的大多数编程需求都可以由它搞定。
到了八九十年代,我们又有了组件,有了图形化开发,业务人员拖拖拽拽就可以把程序开发出来了。
进入二十一世纪,又出现了 Low Code, No Code,既然都没有代码了,那就更不需要程序员了。
实际情况如何呢?
编程不但没有被终结,门槛反而被不断降低,程序员越来越多了。
现在终极大 Boss——大模型——来了,它和之前的新技术,新语言都不同,不用人去写代码,而是直接生成代码。
它能否终结编程,淘汰程序员呢?
首先我们得承认,业界顶尖的 AIGC 工具,如 GPT-4,现在已经具备了非常强悍的代码生成能力,如果你还不这么认为的话,欢迎看看我之前写的几篇文章。《AI 可以生成 95%的代码》
网上也有人用 GPT-4,Midjourney,DALL·E 3 生成了一个类似愤怒的小鸟这样的游戏:"Angry Pumpkins”,效果让人惊叹!
不过,AIGC 生成的代码无法保证面面俱到,无法保证正确性,还得程序员去检查,去调试,发现问题后引导它去做修改,这是一件很费劲的事情。
驾驭好 GPT-4 这样的工具,可以让程序员成为超级个体。
其次,很多人没有意识到的是,写代码只是软件开发的一个环节,在写代码之前,还有需求分析、设计(架构设计和详细设计)需要做。
AIGC 在详细设计上有了长足的进步,但是架构设计上还不行,具体案例可以看这篇文章:《AI 开始威胁程序员的核心能力了!》
随着 AIGC 的快速迭代,在 5~10 年内,也许能出现有着强大设计能力和代码生成能力的 AI,但是 AIGC 很难翻越最后一座大山:需求分析。
弄清楚客户需要什么是一件非常难的事情,你得了解他们的领域,他们的业务,他们的流程,然后在不断的交谈和确认中,才能大致搞明白他们到底需要什么。
很多时候,客户只有看到软件成品才恍然大悟:奥,我要的功能不是这样的。
市面上出现的所有的编程相关的 AI 工具,如 GitHub Copilot,Amazon CodeWhisperer,都无法直接从客户需求生成代码,都需要程序员用行话精确地告诉它要做什么事儿才行。
简单来说,从客户需求直接到代码生成,这条路不通。
从详细的软件规格说明书到代码,非常有希望走通。
所以有人搞了一个新型的外包公司,专门用 AI 生成代码,希望能用更低廉的成本对其他公司进行降维打击。
只有人和人之间才能沟通需求,如果不实现通用人工智能,需求分析这件事情 AI 是搞不定的。
通用人工智能什么时候会出现呢?这很难说。
库兹韦尔在《机器之心》展示过一张计算力增长的图:
从 20 世纪到 21 世纪,计算力呈指数增长,按照这个趋势,在 2025 年左右,1000 美元的个人计算机的计算能力就可以达到人类大脑的水平。
到 2060 年,计算力能超过所有人类大脑的总和。
不过,计算力的达到人类大脑的水平,并不意味着智能也能达到人类的水平。
人脑中的神经元数量大约为 1000 亿。每个神经元平均约有 1000 个连接,共计 100 万亿个连接。
所有连接可以进行同步计算,这是一种相当强大的并行处理能力。
现在人们试图使用神经网络来模拟人脑,但是当神经元足够多以后,它到底是如何工作的,为什么展示出了“智能”的行为,人类还是一头雾水,只能用个词--涌现--来模糊地描述它。
所以库兹韦尔建议研究人的大脑,利用磁共振成像扫描仪等技术窥探大脑内部。随着技术不断更新换代,扫描分辨率和扫描速度不断提高,无创、非侵入式扫描活人大脑最终变得可行。
根据扫描得出的信息,绘制出具体位置、相互之间的连接、体细胞的成分、轴突、树突、突触前囊泡以及其他神经部分。然后整个脑组织就可以在一台内存足够大的神经计算机中被重造出来,大脑中的存储内容也可以被重造。
这一天不知道什么时候才能到来,所以现在不用对 AI 的威胁忧心忡忡,只要能驾驭 AIGC 这个工具,让他为自己所用,就可以继续安心地去搬砖了。
相关推荐
前端的世界总是在不断变化,作为开发者,我们需要保持好奇心和学习热情,不断探索新的技术,只有这样,我们才能在这个快速发展的时代中立于不败之地。低代码也是一个值得我们深入探索的领域,让我们拭目以待,它将给前端世界带来怎样的变革。
介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。
JNPF 可以实现应用从创建、配置、开发、测试到发布、运维、升级等完整生命周期的管理。减少了传统应用程序的代码编写量,通过图形化、可视化的界面,以拖放组件的方式,即可快速生成应用程序的产品,大幅降低了开发企业管理类软件的难度。
希望这篇文章对你有所帮助~
评论