思想领袖
重写未来:人工智能如何重新定义开发者和语言

人工智能编程的时代已经到来,它不仅仅是一个配角,而是抢尽了风头。人工智能已经在重写代码创作的规则。然而,这只是它潜力的一个开始。在不久的将来,算法将消除语言障碍,并从根本上改变人类开发者的角色。那么,我们是否正在见证着我们所知道的最后一个人类程序员?让我们来看看。
人工智能的影响:进展和挑战
Stability AI 的 CEO 描绘了一幅对程序员来说黯淡的未来,宣称人工智能将在五年内取代他们。OpenAI 正在全力以赴,组建了一支外部合同工队伍,以加速他们的模型训练,可能会使初级编码工作变得过时。彭博社宣称印度拥有500万名程序员的巨大人才库正处于人工智能工作危机的边缘。尽管有这些不祥的预测,Reddit 上的讨论表明许多程序员对自己的工作安全并不担心。但是,我们是否能在面对如此激进的转变时仍然保持如此自信?
如果你认为人工智能只是一个次要角色,也许你应该重新考虑。事实上,虽然人工智能现在可以模仿人类编写的输出的语法和结构,但它经常难以理解“为什么”而不是“是什么”。换句话说,它缺乏对底层逻辑和意图的深刻理解。
尽管如此,已经有92%的美国开发者正在 采用 人工智能编码工具,无论是在工作还是在空闲时间。这些智能算法可以 快速生成 40%的代码,从简单的脚本到复杂的脚本。人类的错误正在成为过去。开发速度得到了提升,人工智能 减少 代码文档时间45-50%,并减少代码编写时间35-45%。
人工智能的影响范围不仅限于一种语言;它涵盖了所有语言。我们的数据显示,Java、Python和C++开发者都能从Machinet的AI聊天功能中受益,该功能可以根据项目的上下文和描述生成代码。这一包容性导致了用户参与度的25%提升。
但让我们不要止步于此 — 人工智能已经暴露了应用程序中的漏洞,确保产品是牢固、可靠和强大的。神经网络可以不懈地扫描人类可能忽略的漏洞。人工智能正在磨练其技能,以识别软件的弱点并增强其防御,带我们更近一步到一个未来,人类的监督可能变得过时。
人工智能的算法甚至掌握了代码翻译的艺术。人工智能就像一个多语种程序员,分析用一种语言编写的代码,然后创建一个等效的版本。已经有例子了——IBM最近 推出了 其助手,该助手使用人工智能模型将COBOL翻译成Java。问题是,当人工智能最终能够做所有事情时,谁还需要人类专家或多种编程语言?
语言多样性的终结
我相信,大型语言模型的崛起,如GPT-4,是不可阻挡的。它们理解自然语言和代码,模糊了界限。
人工智能接管引发了人们对编程格局未来的疑问。今天,存在数百种编程语言,并且新语言不断被开发。其中许多语言在行业中被积极使用。根据 PYPL Index,Python是全球最受欢迎的语言,其次是Java、JavaScript、C#和C/C++。其他数据 显示,截至2022年,JavaScript是软件开发人员中最常用的语言。一些语言适用于类似的目的和应用,Java和GO就是一个例子。
那么,这些语言,每种都有其自己的特点和目的,会不会随着人工智能在编码方面变得越来越熟练而变得无用?我相信人工智能即将使旧的、较慢的和不安全的技术变得过时。这可能会导致语言的集中,只有最快和最有效的语言才能生存。开发者将不再根据个人偏好或历史代码库来选择它们,而是根据性能来选择。人工智能驱动的工具将仔细分析和基准测试它们,以确定最适合特定任务的最佳选择。这些分析将考虑诸如执行速度、内存使用和可扩展性等因素。
甚至可能会出现一种用于通用编码任务的中央、人工智能友好的语言。然而,一些专门的语言将在特定领域中占有一席之地,例如科学计算。人工智能可以在需要这些语言解决特定问题时促进它们的集成。这一混合方法将集中化的效率与专业化的力量相结合,提供开发过程中的灵活性和多样性。
遗留系统处于危险之中
人工智能的影响力超出了新代码的创造;它也是一个潜在的遗留系统杀手。从过时的语言迁移到更新、更高效的语言可能是一个繁琐且昂贵的过程。然而,坚持使用遗留系统也是一个经济负担。通常,技术团队 分配 大约75%的开发预算用于维护任务。如果组织继续依赖遗留解决方案,他们可以预计每年预算增加约15%。
这就是人工智能驱动的迁移工具介入的地方。它们将使组织更容易将现有的软件更新为这个新时代的最佳语言。人工智能驱动的产品将自动分析和理解过时代码库的复杂性。它们将识别核心功能、依赖关系和潜在问题,使得计划和执行迁移过程变得更加容易。
我甚至预计人工智能将确定给定项目最合适的语言,并自动将代码库转换为该语言,重写部分以遵循最佳实践,消除冗余或过时的函数,并优化结果以提高性能和安全性。就这样,人工智能驱动的迁移工具将逐渐使遗留代码成为过去的遗物。
人类程序员能否在革命中幸存下来?
最终,在这个人工智能主导的格局中,人类程序员的角色将会转变。他们将不再手动编写代码,而是弥合业务需求和人工智能能力之间的差距。他们将定义目标,提供反馈,并确保代码符合他们的愿景。从本质上讲,开发者将成为具有基本编程知识的“连接器”。与此同时,我可以看到人工智能编码助手演变成具有用户友好界面的整体解决方案,使人们能够有效地将自己的需求传达给算法。
这些变化将使编程领域民主化。目前,全球有 2600万 名软件开发者。人工智能的进步正在为数十亿人铺平成为软件创作者的道路。他们将能够要求算法创建定制应用,无论是游戏还是企业程序。想想创建一个以猫为主角的新版愤怒的小鸟?只需向人工智能系统解释你的想法,并立即获得结果,无需了解这个黑盒子是如何工作的。
在这种情况下,一个紧迫的问题出现了:在这一新兴范式中,初级和中级开发者的命运会如何?在我看来,他们的前景并不乐观。人工智能将在各个方面都超过他们。他们可能会发现自己变成了人工智能监督员,或者独立地磨练自己的技能,也许是通过参与一些不太赚钱的项目,以达到高技能和高薪程序员的水平。
后者将在错误代价高昂的领域中保持需求,例如高频交易,10毫秒的差异可能决定利润或损失,银行和军事技术编程。
这一转变将在全球范围内创造真正的竞争。目前,程序员可以专注于本地市场和特定任务。然而,在人工智能可以处理大量编程任务的市场中,竞争将变得非常激烈。仅仅“足够好”是不够的。程序员需要努力追求卓越,以便在全球范围内与同行和人工智能竞争。
