人工智能“上位”会让程序员消失吗?

大脑以及二进制代码(图:Canva)

来源:Forbes
作者:Nisha Talagala
编译整理:科技行者

写代码已经成了许多工作的一项关键技能。一些国家和学校甚至认为,编程语言是一种可以接受的外语。而在各种熙熙攘攘之中,程序代码的性质也正在发生巨大的变化。

随着低代码和无代码平台迅猛增长,个人和组织都可以用相对较少的传统上称为编写代码的东西,来创建强大的生产应用程序。该趋势的下一步,就是人工智能生成代码,比如,最近的Open AI Codex和Github Autopilot就展示了这一步的实现。

那么,这些趋势意味着什么呢?编写代码会过时吗?

背景是什么?

在我们回答这个问题之前,要先把这些趋势置于背景之中,这是有帮助的。在编程代码的早期,使用汇编语言和机器语言是当时的常态。编写代码后来演变为高级语言,开发人员可以用一种与机器无关的语言描述高层次的意图,再用编译器在下面生成特定机器的代码。

这种趋势一直持续到现在,今天的主流语言(例如python)带有许多可多次使用的库。所以,要创建强大的应用程序也相对简单,只需要编写少量的新代码即可。

低代码/无代码是什么?   

低码/无码是这种演变的下一步。开发人员无需去寻找和组装可重用的代码块。低码平台能够遵照高层次的指示及识别正确的可重用代码块并组装出必要的代码。开发人员则仍然要作出许多决定,例如构建什么样的应用以及软件应该如何运作等等。

那么低码是自己做一些决定或是什么都由开发者决定呢?答案是前者,而且根据平台的不同,自动化做决定的数量也不一样。之前的编译器其实也是这样。比如说开发者使用编译器编写一个循环,开发者很少会指定该循环应该如何用机器代码实现。编译器决定如何用机器代码实现该循环,用到的实现方法,可能是一系列启发式算法和由编译器设计者绞尽脑汁创建的算法。

人工智能可以写代码吗?

人工智能写代码是最近的发展,这是比低码更高大上的一种方法。低代码平台上的人类(即低代码平台设计者)可能已经组装了自动化逻辑,在用户提供了高层次的指示后,自动化逻辑得以触发并生成代码。人工智能在研究了大量的现有代码语料库后确立一些组装规则,进而可以生成代码。

对于用户而言,人工智能生成的代码可能看起来和低码平台生成的代码一样,但这些代码是人工智能创造的低码。这意味着现在可以更容易地用人工智能创建新的低码平台,而平台自动化模式则是基于人工智能。

这一类的平台可以做很多事情:

  • 创建应用程序

如今,业界的一些人工智能原型已经可以根据人类的日常语言指示编写简单的应用程序,这显示了人工智能在这领域的发展前景。这些人工智能用了许多用不同语言编写的程序例子进行训练,但从简单的层面上看就是个代码的自动更正。而从更复杂的层面上看,它实际上是一个引擎,这个引擎可以为开发者指定的任务编写代码。

  • 调试代码

现在,程序员用到的一些集成开发环境(IDE)已经可以识别代码中的简单语法问题。新的人工智能技术在这方面则更进了一步,它能通过分析代码库、错误修复和代码更新进行训练,达到检测常见错误模式并在新代码中找到这些错误。

  • 编写人工智能代码

现在已经可以将一个数据集交给自动化工具,使得自动化工具生成正确的代码类型,再从数据集中构建一个人工智能。这种类型的人工智能自动化已经可以用于一些特定的学习背景,例如在各种生产人工智能环境里用于生成后端代码,去教初中和高中学生如何利用人工智能编写代码。


图中显示的编译器、人类设计的自动化和人工智能设计的自动化逐步扩展了编程助手平台。新技术的出现扩展了编程助手的适应范围,编程助手也涵盖了更大范围的使用案例。(图:AIClub.World)

程序员该何去何从?

无疑,这些趋势将产生深远的影响。许多开发者担心这将使他们丢掉工作——但笔者不这样认为。

编译器并没有让开发者失业,而是大规模地增加了所需的开发者数量、代码的使用以及所创建的应用程序的规模和范围。笔者预计上述的趋势也是这样。但这将从根本上改变编写代码的性质(如果你是一个熟练的汇编语言开发人员,相关的工作有限)。这些趋势令人类成为设计者的角色,而不是实施者。未来的开发者将可以自由地专注于可用性、设计、特征功能等等,而无需担心如何使用特定的API等细节问题。

当然,该趋势的发展还有待观察。生产软件是一项复杂的工作,结合了设计、功能、实施、测试、修改和维护、DevOps等等。任何能实施自动化的东西都可以令开发者腾出手来处理其他事情。可以说,我们正在挺进一个新的领域,人类的任务在这个领域中将集中在功能、设计、道德等主题上,而低层次的实施将由人工智能和自动化来处理。

总结 

回到标题的问题——人工智能“上位”会让程序员消失吗?

笔者认为不会。开发人员的工作是创造一个产品,产品需满足用户的需求,相应的解决方案需要特定运行的环境(如公司使用什么技术、现有的基础设施、团队技能、法律限制等)和许多其他因素。而人工智能生成的代码是对大多数这些事情的补充。不过笔者确实认为,人工智能正在从根本上改变编写代码的含义并将在未来持续改变编写代码的含义。关键是我们如何与我们编码教育以及行业编码实践保持同步。

企业或技术领导者务必确保你的团队了解这些发展以及如何利用这些发展,这一点很重要。低码已经在帮助开发人员提高生产力。人工智能生成代码是一个相对较新的现象,但我们可以预期,人工智能生成代码在未来几年内会变得更加普遍。即使是熟练的开发人员也可以受益于持续的教育和培训计划,达到保持对最新技术的了解的目的。如果现在还没有这样的计划的话,最好制定一个。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分类的IP地址

现有物理地址再有IP地址IP地址的表示方法为点分十进制法IP地址的设计思想:网络部分 主机部分 分类的IP地址 特征:根据不同特征的IP地址,事先约定好网络号所占的位数和主机号所占的位数。 A类地址 全球一共有27-2 个A类网络,每…

人工智能之深度优先,广度优先,贪婪最佳优先搜索,A*搜索以及爬山法与遗传算法

项目场景: 1. 分别用宽度优先、深度优先、贪婪算法和A*算法求解“罗马利亚度假问题”。 2. 分别用爬山法和GA算法求解n皇后问题。 文章目录 项目场景:一、度假场景1.1 问题描述2.1 问题分析:1.3 解决方案:1.4 运行结果二、N皇后问题2.1 问题描述2.2 数据存储结构2.3 算法思…

操作系统之多级队列调度算法,银行家算法,动态分区式存储区管理

题目描述: 1.对于多级队列调度算法,主要介绍轮转法,短进程优先算法;银行家算法主要介绍进程的资源分配策略; 2.对于动态分区式存储区管理,主要介绍首先适应法,最佳适应法,最坏适应法等调度算法。 文章目录 题目描述:程序功能及设计思路1. 多级队列调度算法函数设计2. …

卫星对于物联网来说是一个非常好的选择

ALAMY来源:IEEE电气电子工程师对许多人来说,“物联网”一词可能会让人想起智能城市的努力,比如配备交通摄像头和空气质量传感器的路灯,或者在自己家里连接设备。一个很自然的问题是,为什么你从没想使用卫星连接任何这些…

利用子网掩码划分子网

分类IP地址的弊端 一个物理网络不能过大,否则网络性能很差,某个B类或A类IP网络无法全部用于单个物理网络分类IP地址分配不合理,利用率低分类IP地址设计的弊端 —— 不灵活,IP地址利用率不高 划分子网的思路 网络管理员将本应属于…

springcloud流程图

自己画的: 别人画的 别人画的2 转载于:https://www.cnblogs.com/dzhou/p/10504215.html

编译原理之LR语法分析器,自动机

本博客主要介绍LR语法分析器的代码实现,包含完整的测试数据与源代码。 文章目录 1. 主要内容:2.实验过程2.1 实验数据2.2 源代码1. 主要内容: LR语法分析器理论:https://blog.csdn.net/qq_40294512/article/details/92621241 2.实验过程 2.1 实验数据 G.txt数据文件 E-&…

java 搭建 web服务器 socket实现

【写在前面】 云计算的第n个java作业,开始一直不懂为什么老师一直让我们写java web的小demo,不应该是hadoop啥的直接上框架嘛。后来慢慢了解到,其实java web 的一些内容确实是云计算的基础。这个demo是用java socket 来搭建一个web服务器&…

【趋势】未来十年计算机体系结构的历史和趋势

来源:机器之心先分享我对这篇文章的总结,或者我得到的启发:1、DSA(Domain-Specific Architectures,特定领域的体系结构)将成为未来十年甚至更长时间,计算机体系结构的趋势。登纳德缩放定律结束、…

BZOJ3064 CPU监控

题目链接:戳我 比较神仙的一个题(至少对于我这个小蒟蒻来说。。。)下面尽可能详细地解释一下吧。。。学习来源:这位神仙的题解 其实就是对于操作的转换。我们设(x,y)为操作的参数,设当前数为a,操作为max(ax…

java socket 实现增删改查 + 在线答题小案例

实现效果 (1) 在client端可以实现对数据库的操作(Select,Insert,Update,Delete) (2)数据库中创建一个考试表和学生表,考试表中问题是四项选择题(…

90后斯坦福博士论文登Science封面!AI算法准确预测RNA三维结构

来源:Science编辑:yaxin、su「我们对大部分RNA的结构几乎一无所知。」半个世纪以来,确定生物分子的三维结构一直困惑着科学家,也是生物学的重大挑战之一。难就难在,RNA折叠成复杂三维结构的形状很难通过实验或计算来确…

Event Recommendation Engine Challenge分步解析第五步

一、请知晓 本文是基于: Event Recommendation Engine Challenge分步解析第一步 Event Recommendation Engine Challenge分步解析第二步 Event Recommendation Engine Challenge分步解析第三步 Event Recommendation Engine Challenge分步解析第四步 需要读者先阅读…

计算机网络之RIP协议与OSPF协议模拟、UDP与TCP编程,Wireshark抓包分析

通过Python模拟RIP协议,OSPF协议,并模拟UDP和TCP编程,并通过Wireshark抓包工具,对所发送的报文进行捕获分析。 文章目录 一、RIP协议的模拟与编程二、OSPF协议的模拟与编程三、UDP编程四、TCP套接字编程五、Wireshark 数据分析六、总结一、RIP协议的模拟与编程 1.1 题目 …

虚拟机 NAT模式与桥接模式的区别

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! NAT模式:相当于宿主机再构建一个局域网,虚拟机无法和本局域网中的其他真实主机进行通讯。只需要宿主机器能访问互联网,那么虚拟机就能上网,不需要再…

基础研究和前沿技术领域校企融合协同创新的国际经验及启示

来源:中国科学技术发展战略研究院作者:薛姝、何光喜、张文霞原载于《全球科技经济瞭望》2021年5月第5期摘要:促进大学与企业的合作是各个国家科技创新政策和创新体系建设的重点任务,近年来也出现了加强在基础研究和前沿技术领域加…

数据可视化之会议论文收录信息可视化与分析

提示:本文章通过Python来对某网站上发布的论文信息进行可视化,主要分为通过爬虫解析网页,获取数据,以及数据预处理,数据的可视化及分析等。 文章目录 前言一、题目描述二、数据的获取与处理2.1 数据的获取2.2 数据预处理三、数据分析及可视化3.1 论文标题词云3.2 热点词汇…

BZOJ.3811.玛里苟斯(线性基)

BZOJUOJ 感觉网上大部分题解对我这种数学基础差的人来说十分不友好...(虽然理解后也觉得没有那么难) 结合两篇写的比较好的详细写一写。如果有错要指出啊QAQhttps://blog.csdn.net/smallsxj/article/details/73205569https://www.cnblogs.com/wujiechao/…

理解云计算三种服务模式——IaaS、PaaS和SaaS

云计算的服务模式仍在不断进化,但业界普遍接受将云计算按照服务的提供方式划分为三个大类:SaaS(Software as a Service–软件即服务) PaaS(Platform as a Service–平台即服务) IaaS(Infrastruc…

术,路,心:陈天桥的大脑行旅

来源: 脑极体在互联网、云计算与电动汽车之后,连同资本、产业、学术界在内的社会各界,纷纷开始将目光投向更远的地方。下一个超级机会藏在何处?下一个改变人类文明的技术机遇何时触发?随着各国开始在国家战略层面布局下…