程序员这个职业未来会消失吗?

文章探讨了编程技术的发展历程,从早期的编程语言到低代码、无代码工具,再到AI生成代码,指出编程并未消失,反而门槛降低。虽然AI如GPT-4在代码生成上有突破,但需求分析、设计和理解复杂业务仍是AI难以替代的人类强项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Computer World》杂志曾经写过一篇文章,说“编程到1960年就会消失”,因为IBM开发了一种新语言FORTRAN,这种新语言可以让工程师写出他们所需的数学公式,然后提交给计算机运行,所以编程就会终结。

又过了几年,我们听到了一种新说法:任何业务人员都可以使用业务术语来描述自己的问题,告诉计算机要做什么,使用这种叫做COBOL的编程语言,公司不再需要程序员了。

再后来,人们又说,IBM又开发了一种新语言RPG,可以让任何员工填写表格并且生成报告,所以,企业的大多数编程需求都可以由它搞定。

到了八九十年代,我们又有了组件,有了图形化开发,业务人员拖拖拽拽就可以把程序开发出来了。

进入二十一世纪,又出现了低代码(Low Code)、无代码 (No Code),既然都没有代码了,那就更不需要程序员了。

低代码常常被诟病,属实是冤枉,国内 JNPF 可以通过可视化的操作自动生成“全栈代码”,前端可选:Vue,后台选Java 或node.js,以及自动生成数据库相关代码;且代码可读性强,可以进行二次代码编辑和编译。有生成全栈代码的能力,JNPF 其实在程序员群体中很受欢迎。感兴趣的可以自行去了解,这边不做扩展。

很多人诟病低代码、无代码会取代程序员,实际情况如何呢? 编程不但没有被终结,门槛反而被不断降低,程序员越来越多了。

现在终极大Boss——大模型——来了,它和之前的新技术,新语言都不同,不用人去写代码,而是直接生成代码。

它能否终结编程,淘汰程序员呢?

首先我们得承认,业界顶尖的AIGC工具,如GPT-4,现在已经具备了非常强悍的代码生成能力。网上也有人用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这个工具,让他为自己所用,就可以继续安心地去搬砖了。

<think>嗯,用户问的是AI会不会取代程序员。这个问题现在挺热门的,得仔细想想怎么回答。首先,我需要了解当前AI编程领域的发展情况。比如,GitHub Copilot、ChatGPT这些工具已经能帮助生成代码了,甚至自动补全和调试建议。这些都是实际存在的应用,说明AI确实在辅助程序员。 接下来,得考虑AI的局限性。虽然AI可以处理重复性任务,生成代码片段,但它是否具备真正的创造力和问题解决能力呢?比如,在复杂系统设计、架构决策,或者理解业务需求这些方面,人类程序员的经验和直觉可能还是不可替代的。可能需要分几个方面来阐述:现状、优势、局限性和未来展望。 然后,用户的身份可能是个程序员,或者对职业发展有担忧的人。他们可能担心自己的职业前景,所以回答需要平衡,既肯定AI的作用,又指出人类的不可替代性。需要强调协作而非取代,比如AI作为工具提升效率,而不是替代角色。 还要考虑技术发展的历史。比如,过去自动化工具的出现,虽然改变了工作方式,但也创造了新的岗位。高级语言的出现没有让汇编程序员消失,反而让更多人能编程。类似的,AI可能会改变编程的方式,但需要更多高层次的指导和设计。 另外,伦理和错误处理方面的问题。AI生成的代码可能有漏洞或版权问题,这时候需要人类审查和修正。这也说明人类在质量控制上的必要性。 可能需要分点回答,结构清晰些。比如,先讲现状,AI的应用;再讲优势,比如效率提升;然后局限性,比如创造力不足;接着未来展望,人机协作模式;最后总结,指出不会完全取代,而是角色转变。 还要注意使用用户提到的格式要求,数学公式用$...$,独立公式用$$...$$,但这里可能用不上太多数学内容,不过如果有涉及算法或模型的地方可以适当加入,比如提到神经网络结构时用LaTeX格式。不过问题本身可能不需要太多数学,所以可能用不上。 最后,确保用中文,口语化,结构清晰,分步骤解答用户的疑虑。同时保持客观,不夸大也不贬低AI的能力,给出一个平衡的观点。</think>关于“AI会取代程序员吗”的讨论,需要从技术现状、局限性及人机协作模式等角度综合分析。以下是逐步拆解: --- ### 一、当前AI编程领域的能力 1. **代码生成** 工具如GitHub Copilot、ChatGPT已能根据自然语言描述生成代码片段,例如: ```python # 用户输入:“用Python实现快速排序” # AI生成代码(示例) def quick_sort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr)//2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quick_sort(left) + middle + quick_sort(right) ``` **局限性**:生成的代码可能缺乏优化,或无法适配复杂业务逻辑。 2. **代码补全与调试** AI可分析上下文,提供代码补全建议,或通过错误日志定位问题(如Stack Overflow集成工具)。 3. **自动化测试** 部分AI工具能生成测试用例,但覆盖率和边界条件仍需人工干预。 --- ### 二、AI的局限性 1. **抽象与创造力** 程序员的核心能力包括: - **系统设计**:将模糊需求转化为模块化架构(如微服务拆分)。 - **权衡决策**:在性能、成本、可维护性之间平衡(例如选择数据库类型)。 - **创新能力**:发明新算法(如$$T(n) = O(n \log n)$$的排序优化)。 **AI当前难以替代此类高阶思维**。 2. **上下文理解** AI可能误解需求细节,例如: - 用户描述:“开发一个社交APP” → AI无法追问“目标用户是谁?需要消息推送功能吗?” 3. **伦理与责任** AI生成的代码若存在安全漏洞(如SQL注入),最终责任仍需人类程序员承担。 --- ### 三、未来趋势:人机协作 1. **效率提升** AI将成为“超级助手”,减少重复劳动(如写模板代码、文档),让程序员聚焦核心问题。 2. **新岗位涌现** - **AI训练师**:优化针对编程领域的模型。 - **代码审计师**:审查AI生成代码的可靠性与合规性。 3. **技能升级需求** 程序员需掌握: - AI工具使用技巧 - 复杂系统设计能力 - 跨领域知识(如业务逻辑与AI的结合) --- ### 四、结论 - **短期(5-10年)**:AI不会取代程序员,但会淘汰仅擅长基础编码的从业者。 - **长期**:编程工作将更偏向**需求分析、架构设计与创新**,而AI负责执行细节。 - **关键公式**: $$ \text{程序员价值} = \text{创造力} \times \text{经验} + \frac{\text{AI工具效率}}{\text{人工干预需求}} $$ **最终答案**:AI不会取代程序员,但会彻底改变编程的工作方式。人机协作将成为主流,程序员需持续学习以驾驭AI工具,而非被其替代。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值