人工智能会取代程序员吗?

2023-05-16

多亏了人工智能(AI),软件将在未来自行编写。至少,这就是谷歌首席执行官桑达尔·皮查伊(Sundar Pichai)对软件开发未来的看法。他是对的!这并不能使软件开发人员变得多余 - 恰恰相反。

人工智能会在不久的将来取代计算机程序员吗?是否有可能完全取代程序员?可能只有当我们能够创造所谓的强人工智能(人工通用智能)时,也就是说,它满足了某些形式的人工智能具有人类思维可用的所有属性的假设。

答案很简单:不。相反,“计算机程序员”将成为“AI程序员”。

没有人怀疑人工智能每天都在编程方面做得更好。事实上,人工智能驱动的工具最终将比编程人员好得多。但是机器不会那么快地独立于人类,并且能够创建跨越几行以上的有用且实用的代码需要接近着名奇点的智能水平。

程序员不再手工编写代码。他们已经在使用各种智能工具,使他们能够自动执行编译工作。这就是人工智能的作用:它支持程序员。但是,人工智能将能够做出所有正确的决策,从头开始开发软件或解释每个功能的商业价值的未来仍然非常遥远。

相反,大多数新的基于AI的工具通过机器学习来提高其准确性和性能。得益于广泛的试错法,您的神经网络架构可帮助您更好、更精确地自动执行任务。

在那里,他们比人类更好:发现并修复错误。但是他们不够自主,可能永远不会有自己的“意见”,关于哪一个是解决问题或生成新功能的最佳方法。

最终,人们将远离“程序员”的工作,只是学会“驱动”他们的机器学习工具,以更有效地支持他们。由于人工智能自动化了以前需要非常特殊知识的复杂任务,因此开发人员有更多的时间专注于他们工作的“人性化”方面。

人们总是需要填补机器中永远缺乏的空白,例如与其他开发人员互动,研究已知问题的新的,大胆的解决方案,或者只是实现他们的创造力。

经典软件开发的拥护者可能会正确地说,好的软件比代码更重要:用户友好的结构,例如,有效的测试数据和实际的测试环境,以及与其他应用程序的接口。

现在可以说,所有这些都必须由一个有思想的人放在一起,从逻辑上看待,并且具有丰富的经验,以便最终对程序进行编码。这意味着,即使是最智能的人工智能也需要一个人的规格。

人工智能如何简化人类工作?

框架作为开发框架或具有定义的库已经自然地简化了软件开发人员的工作。容器化或无服务器概念等发展也朝着这个方向发展。

开发人员负责应用程序的核心,而运行时环境则由其他人提供。或多或少令人讨厌的外围任务,例如硬件的实现和配置,流量的管理等,不再需要。

现在,框架绝不仅仅是静态的。他们优化代码,建议完成Google搜索,并将图形创建的模板转换为源代码。因此,有人不再需要成为开发人员来告诉AI应用程序应该是什么样子的想法可能并不那么牵强。

举个例子:一个有创意的网页设计师将来可以将他的模型交给AI,然后AI从中创建HTML代码。人工智能需要的所有规则和所有知识都很容易教它。

更重要的是:从用户数据或其他可用数据来看,人工智能不仅可以优化程序代码,还可以优化程序本身。例如,在网站上,网站上图像的最佳位置在哪里?

有多少在线用户不想滚动或只在旅途中看到Web内容?冲浪者是否发现微妙的颜色更令人愉快,或者您是否通过明亮的设计更好地达到目标群体?有了这些数据或类似的数据,人工智能可以了解目标用户最喜欢的是什么,并相应地优化网站。

这种系统的特殊优势:它们可以快速计算,识别模式,并且可以在条件发生变化时适应整体概念。在这一点上,真正的智能开始是一个更哲学的问题。所以回到开头:人工智能是否只和一个人的规格和他提供给系统的数据一样好?

人工智能将如何影响编程工作?

事实似乎也将从根本上改变软件开发人员的工作。神经网络或人工智能将有助于改善数字工作,但在可预见的未来,它们几乎不会取代开发人员。

我们已经在使用小规模的学习系统 - 从Google搜索中已经提到的自动完成到音乐流媒体服务提供商的播放列表,这些播放列表始终根据个人口味,当前情绪和一天中的时间提供正确的音乐。

对应用程序开发人员的需求已显著增加。数字化正在生活和工作的所有领域发生 - 毕竟,必须有人开发AI,控制它,设置框架和数据。


例如,开发人员可能会写越来越少的代码,甚至更少地审查或优化它。将来,他们将在数据科学或数字创新领域进行概念性的工作。

开发人员还必须确保AI不会留给自己的设备,并根据人类条件进行测试。这也可能意味着不是根据计算出的最佳值来设计网站,而是故意突破 - 简而言之,创造性地工作。

今天的程序员将成为明天的AI教练。

人工智能可以成为一个优秀的合作伙伴。例如,许多公司使用结对编程技术,其中来自不同领域的专家共同开发软件。每个人都会带来不同的经验和方法。结果显然是更加面向用户的应用程序。

当我们谈论软件2.0时,学习机是一个高质量的合作伙伴,它可以根据所学到的知识提出建议,并可以使用大量数据自动执行测试运行。然而,有创造力的人决定了整体结构朝着哪个方向发展,因为并不是每个优化建议都会导致实际目标 - 直观的软件。

必须认识到,人工智能仍然远远没有达到任何优秀开发人员所需的创造力。我们远非能够创建Facebook,集成图形章程或管理表单错误的AI。


而人工智能,在其“深度学习”版本中,如果没有“训练”,也就是说,面对无限的情境,这样它就可以自己学习,就无法发挥作用。这正是人类,程序员,将不得不改变他的职业的地方。

人工智能如何帮助程序员?

与此同时,在取代它们之前,人工智能开始与编程工具集成,以帮助开发人员提高代码质量并加快工作速度。因此,新的Visual Studio 2019集成了一个名为IntelliCode的AI,它有助于格式化代码并提供建议。Kite对Python编程也做了同样的事情。DeepCode会扫描源代码中的漏洞。

同样,Yagaan的AI在整个开发阶段执行代码审计,以突出存在的安全风险。育碧开发了Commit Assistant,这是一个从历史上犯下的编程错误中吸取教训的AI,并帮助开发人员停止犯这些错误。

谷歌还有一个错误预测AI。另一个例子,“ Sketch 2Code ”,是基于一个AI,它将手工制作的界面图转换为HTML代码。就其本身而言,SmartBear已经开始将AI集成到其TestComplete测试自动化工具中。事实上,茄子似乎也做了同样的事情。

同时,人工智能也被调用来拯救“无代码/低代码”工具,以更好地帮助开发人员掌控这些环境并实现其应用。

Mendix及其Mendix Assist是最早看到AI作为发展辅助潜力的参与者之一。去年五月,Appian宣布其低代码平台使用“Appian AI”,这是一个扩展,主要是为了简化认知服务在应用程序中的集成。

人工智能的未来是什么?

简而言之,人工智能还没有准备好取代程序员。但目前的项目表明,我们将能够在相对较短的将来要求他为自己编写代码。与此同时,它是“增强”开发人员运动的一部分,允许它更快地产生更少的错误和代码。

因此,软件开发人员无需担心。一些旧工作可能会被替换。然而,一个熟练的开发人员至少在未来一二十年内是无法被人工智能取代的。随时了解最新技术并发展您的技能。人工智能在这里只是为了帮助我们,而不是取代我们的工作。然而,人工智能将对世界产生比历史上任何其他创新更大的影响。

我希望你能从这篇文章中得到一些东西。如果您有任何疑问或疑问,请随时在评论部分询问他们(在一些机器人来填写评论部分之前这样做)。

如果您愿意分享这篇文章,我将不胜感激。这将鼓励我创建更多像这样的有用的文章。

祝您编码愉快!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人工智能会取代程序员吗? 的相关文章

  • L8 U4 商务旅行

    Module 1 计划商务旅行 1 处理信息 You mean with Lindstrom 你是说和林特罗姆 xff1f Yes with Lindstrom 是的 xff0c 和林特罗姆 Exactly 完全正确 You mean yo
  • L8 U5 产品和创新

    Module 1 产品特点 1 产品特点 询问产品特性 在询问商店中的产品时 xff0c 您可能首先想询问其质量水平 top of the range 高档的middle of the range 中档的good value for mon
  • Android打包jar的两种方法

    方法一 xff1a 使用Android Studio打包 方法二 xff1a 使用Android Build System打包 一 Android Studio打包 1 新建Android Library xff0c 取名为opensdk
  • LCS 下载插件

    难度简单2收藏分享切换为英文接收动态反馈 小扣打算给自己的 VS code 安装使用插件 xff0c 初始状态下带宽每分钟可以完成 1 个插件的下载 假定每分钟选择以下两种策略之一 使用当前带宽下载插件将带宽加倍 xff08 下载插件数量随
  • 调用webservice异常总结

    发布和调用Webservice很简单 xff0c 但小问题依然不断 xff0c 特总结如下 xff1a 一 Java调用 net的webService产生 服务器未能识别 HTTP 标头 SOAPAction 的值 错误 解决方案 xff1
  • 去除Evaluation Warning : The document was created with Spire.PDF for Java.

    去除Evaluation Warning The document was created with Spire PDF for Java 最近项目中有一个需求需要把PDF文件添加页码 xff0c 最终在网上找到了用Spire去添加的方法
  • 第二章 简单网页的爬取与Xpath、Json使用 2021-09-09

    爬虫系列总目录 本章节介绍爬虫中使用的基础库用于选择 xff0c 过滤页面信息 包括requests xff0c bs4 xff0c xpath xff0c 正则表达式re xff0c json 等内容 xff0c 能够实现对简单页面的获取
  • 解决crontab定时任务多次执行

    今天使用linux crontab定时任务时 xff0c 可能由于配置不妥 xff0c 任务多执行一次 xff0c 如下是我程序的日志记录 xff08 执行了两次 xff0c 我设置的是每分钟执行1次 xff09 解决如下 重启cronta
  • ruoyi对接CAS统一身份认证

    暂定逻辑如下 xff1a 搭建CAS服务器端 xff1a 项目地址 xff1a https gitee com weigang wu cas server webapp git 项目里有二开的说明文档 xff0c 如 xff1a 按照自定义
  • Linux 系统启动过程

    简介 Linux 系统启动过程大致分为5个阶段 xff1a 1 内核的引导 2 运行 init 3 系统初始化 4 建立终端 5 用户登录系统 内核引导 计算机通电后 xff0c 首先会进行 BIOS 开机自检 xff0c 然后根据BIOS
  • Ubuntu 修改$PS1 自定义命令提示符

    文章更新于 xff1a 2020 03 25 文章目录 一 自定义命令提示符1 可修改的是那部分 xff1f 2 修改 PS1 变量3 PS1 变量格式4 如何修改背景颜色5 修改字体 二 Enjoy xff01 一 自定义命令提示符 1
  • C#byte类型

    byte类型的范围是0 255 转换为二进制是00000000 11111111 C 中对byte类型的处理还是很特殊的 下面用几行简单的代码来说明问题 byte x 61 1 byte y 61 2 byte z 61 x 43 y er
  • JVM内存分配机制详解

    目录 1 对象创建流程 TODO 1 1 jvm分配内存 1 2 设置对象头 1 2 1 对象头实例 1 2 2 指针压缩 2 JVM对象内存分配 2 1 逃逸分析和标量替换 2 1 1 逃逸分析和标量替换实战 2 2 eden区分配内存过
  • 【已解决】Windows10安装报:Windows检测到EFI系统分区格式化为NIFS,将EFI系统分区格式化为FAT32,然后重新启动安装

    手动擦除驱动器并将其转换为 GPT 关闭电脑 xff0c 然后放入 Windows 安装 DVD 或 USB 密钥 在 UEFI 模式下将电脑启动到 DVD 或 USB 密钥 有关详细信息 xff0c 请参阅 启动到 UEFI 模式或传统
  • SpringBoot系列之【启动流程详解】

    文章目录 前言一 SpringBoot特点二 SpringBoot启动流程图三 SpringBoot启动类入口1 注解 xff1a 64 SpringBootApplication 64 SpringBootConfiguration 64
  • word文档转html利器

    有需求 xff0c 就会有相应的技术出现 xff0c 以前知道word可以用来书写html网页 xff0c 那自然就可以转成html页面 xff0c 难道我们要用word开发html页面吗 xff1f 你可能会问 xff0c 我为什么要把w
  • Windows Terminal - 好物分享,真香~

    微情景 xff1a x1f482 xff1a 咦 xff0c 你的windows电脑还在使用默认的PowerShell cmd呀 xff1f x1f64b xff1a 对啊 x1f482 xff1a 你不觉得它们很丑又不好用吗 xff1f
  • oh-my-zsh - Linux/Git Bash个性化工具 - 好物分享,真香~

    一 什么是oh my zsh oh my zsh 是一个开源的zsh配置工具 xff0c 正如它主页上说的 xff0c oh my zsh基于zsh命令行 xff0c 提供了主题配置 xff0c 插件机制 xff0c 内置的便捷操作 让我们

随机推荐