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

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

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

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

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

背景是什么?

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

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

低代码/无代码是什么? 

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

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

人工智能可以写代码吗?

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

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

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

  • 创建应用程序

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

  • 调试代码

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

  • 编写人工智能代码

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


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

程序员该何去何从?

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

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

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

总结 

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

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

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

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

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

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

  1. 行!人工智能玩大了!程序员:太牛!你怎么看?

    人工智能真的玩大了吗? 人工智能行业的人才真的"爆发了?" AI程序员究竟怎么样? 中国AI前景分析  程序员与远方 最新参考,是12月2日出炉的<人工智能技术专利深度分析报 ...

  2. 行!人工智能玩大了!程序员:太扯,阴谋!你怎么看?

    人工智能真的玩大了吗? 人工智能行业的人才真的"爆发了?" AI程序员究竟怎么样? A与B  薪酬与前景 程序员与远方 2017年~2018年,是人工智能大火的时候.你会发现,跟朋 ...

  3. 人工智能时代:软件中的人工智能将如何改变程序员的角色

    软件程序员在每个企业中总是有很高的需求,无论行业或目标受众如何.这类专业人员设计和运行软件,使企业能够通过他们构建的应用程序来接触和服务客户. 但最近,软件程序员正生活在被颠覆性技术取代的威胁之下! ...

  4. 人工智能风口,Python程序员的狂欢与企业主的哀嚎

    人工智能风口有多火?估计很多人已经感受到了,我在这里引用一下新智元的报道: 2017年短短不到三个月的时间,国内AI获投项目已有36个,千万级别融资占据半数以上. 嗯,就是那么霸道.两会刚刚结束,&q ...

  5. 人工智能风口,Python程序员的狂欢与企业主的哀嚎。

    人工智能风口有多火?估计很多人已经感受到了,我在这里引用一下新智元的报道: 2017年短短不到三个月的时间,国内AI获投项目已有36个,千万级别融资占据半数以上. 嗯,就是那么霸道.两会刚刚结束,&q ...

  6. 程序人生:人工智能可能是盲程序员的另一种工具

    除了可供盲目的程序员使用的工具之外,人工智能还可以添加到他们的工具带中.借助Microsoft的最新发展,它甚至可以帮助他们了解周围世界的情况. 据<福布斯>报道,萨奇布·谢赫(Saqib ...

  7. ai取代程序员_未来50%的工作都将被人工智能给取代,程序员会被机器人取代吗?...

    首先程序员这个行业和其他行业一样也是分等级的. 虽然非常不想用"底层从业者"这五个词来定义最低层次的程序员,但事实就是如此. 当行业的某个技术领域发展成熟到一定程度时,这个领域的大 ...

  8. 三十岁程序员月薪60K?人工智能将是未来的风口

    世界上最幸福的职业是什么? 回答:是敲代码的程序员.(money money) 那世界上最悲惨的职业是什么? 回答:是30岁还在敲代码的程序员. 通常程序员在经过2-3年敲代码的时期后都会考虑自己未来 ...

  9. AIphaCode 并不能取代程序员,而是开发者的工具

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) DeepMind 是 AI 研究实验室,它引入了一种深度学习模型,可以生成具有显著效果的软件源代码.该模型名为 AIphaCod ...

最新文章

  1. Linux 多应用程序docker自动部署脚本
  2. TableCellRenderer和TableCellEditor(一)
  3. mac mysql 报错_mac os mysql 配置?报错-问答-阿里云开发者社区-阿里云
  4. 启动root用户 银河麒麟_银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP
  5. eigen 编译_四足机器人优化方法:Webots下Eigen与qpOASES非线性优化库环境搭建
  6. Allwinner(全志)V3s Camera sensor Support List
  7. 电气工程cad实用教程电子版_电气工程CAD教程-PDF
  8. 015-JVM-使用javap查看class文件内容
  9. 构建OctoberCMS插件:Google Analytics(分析)
  10. idea破解到2100年
  11. 新手轻松日赚300+搬砖项目详解
  12. Microsoft SQL Server 数据库使用(一)
  13. 再谈防火墙的流量控制
  14. ACM-ICPC 2018 沈阳赛区网络预赛 J Ka Chang 分块
  15. 男人四十一枝花,我花开后百花杀!Orz..繁忙的工作之余,joke一下~~
  16. 关于BPSK的调制解调——matlab实现
  17. 警惕url跳转到钓鱼网站--淘宝二手经历
  18. Postman下载及使用技巧
  19. 128篇论文,21大领域,深度学习最值得看的资源全在这里
  20. 清华大学建筑学计算机,清华大学

热门文章

  1. Tony Qu的《WPF揭秘》情节
  2. 自回归解码加速64倍,谷歌提出图像合成新模型MaskGIT
  3. 独家 | 请停止使用浏览器过程中的不安全行为(附链接)
  4. 独家 | 数据科学家对可复用Python代码的实用管理方法(附链接)
  5. 独家 | 机器学习真实案例研究:基于文本描述的交易聚类
  6. 剑指offer:表示数值的字符串
  7. 剑指offer: 斐波那契数列 python 实现
  8. 天下苦同行评审久矣,要不我们把它废除掉?
  9. 何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源...
  10. 宁‘内卷‘,勿‘躺平‘