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

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(使用前将#替换为@)

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

  • Ubuntu替换清华源

    1 首先使用如下命令备份原来的源文件 sudo cp etc apt sources list etc apt sources list bak2 2 进入清华大学开源软件镜像站 xff0c 找到Ubuntu xff0c 点击help 3
  • Kubernetes安装部署

    Kubernetes安装部署 准备三台虚拟机 master node1 node2 系统CentOS7 9 内存4G 处理器2 硬盘50G 配置hosts解析 192 168 163 150 master 192 168 163 152 n
  • ubuntu上位机与单片机TCP通信的调试(供回忆)

    xff08 1 xff09 上位机TCP客户端通信连接失败 1 xff09 ping IP地址 2 xff09 telnet IP 端口号 https blog csdn net l370398095 article details 705
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|ORBVocabulary|1-17】

    ORBVocabulary的类是ORB SLAM2中用于描述词典的数据结构 在ORB SLAM2中 xff0c 描述词典用于将特征描述符与地图点进行关联和匹配 xff0c 从而实现快速和鲁棒的数据关联 在这个代码中 xff0c ORBVoc
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|ORBextractor|1-19】

    ORBextractor的类 xff0c 是ORB SLAM2系统中用于提取ORB特征的关键部分 在视觉SLAM xff08 Simultaneous Localization and Mapping xff09 系统中 xff0c 特征提
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|ORBmatcher|1-20】

    特征匹配是关键任务之一 xff0c 因为它们用于找到不同帧之间的特征匹配 xff0c 从而实现跟踪 地图构建和优化等任务 ORBmatcher类的主要功能如下 xff1a 在不同场景下进行特征点匹配 xff0c 例如初始化 跟踪 重定位 回
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Optimizer|1-21】

    优化是关键任务之一 xff0c 因为它们用于提高位姿估计 地图点位置和地图一致性的精度 Optimizer类的主要功能如下 xff1a 在局部和全局范围内进行Bundle Adjustment xff08 BA xff09 优化 对当前帧进
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|PnPsolver|1-22】

    它实现了一种名为EPnP xff08 Efficient Perspective n Point xff09 的算法 xff0c 该算法能够从2D 3D点对之间的关系中估计相机的位姿 PnPsolver类的主要功能如下 xff1a 通过使用
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Sim3Solver|1-23】

    Sim3Solver类负责估计两个关键帧之间的相似性变换 Sim 3 该类接受两个关键帧和它们之间的一组匹配的地图点作为输入 然后使用RANSAC方法迭代地优化Sim 3 变换 估计的变换包括旋转 平移和尺度信息 以下是这个头文件中使用的C
  • 驼峰命名法

    简介 xff1a 驼峰式命名法又叫骆驼式命名法 xff0c 是编程时的一种命名规则 xff0c 指混合使用大小写字母来构成变量和函数的名字 意义 xff1a 多人做项目时 xff0c 若命名格式统一 xff0c 可以方便不同成员之间的代码交
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|System|1-24】

    包含所需库和其他类的头文件 定义命名空间ORB SLAM2 定义System类 它是整个ORB SLAM2算法的核心组件 它将各个子模块 如追踪 局部建图 回环检测等 组合在一起 并提供了处理单目 双目和RGB D图像的方法 System类
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Tracking|1-25】

    在C 43 43 语法方面 xff0c 这段代码包括以下部分 xff1a 头文件包含 xff08 include xff09 xff1a 使用 include指令引入必要的头文件 xff0c 这些头文件提供了各种所需的类和函数定义 命名空间
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Tracking|1-25】

    在Tracking类中 有一些成员变量和成员函数 下面是它们的简要概述 成员变量 System mpSystem 指向System类对象的指针 用于访问和操作ORB SLAM2系统 FrameDrawer mpFrameDrawer 指向F
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Viewer|1-26】

    Viewer类的主要目的是实现ORB SLAM2算法的可视化部分 帮助用户更好地理解算法的运行过程和结果 为此 Viewer类与其他类 如System FrameDrawer MapDrawer和Tracking 协同工作 根据摄像机的帧率
  • #include<iostream>

    include lt iostream gt 是C 43 43 程序中非常常见的一条预处理指令 xff0c 它包含了iostream库 iostream库提供了C 43 43 程序中用于处理标准输入 输出流的基本功能 这个库中定义了一些重要
  • #include<algorithm>

    include lt algorithm gt 是C 43 43 中一个常用的预处理指令 xff0c 它包含了algorithm库 这个库提供了大量用于操作序列 xff08 例如数组 向量 列表等容器 xff09 的通用算法 xff0c 这
  • #include<fstream>

    include lt fstream gt 是C 43 43 程序中常用的预处理指令 xff0c 它包含了fstream库 这个库提供了用于处理文件输入 输出的类 fstream库主要包括以下几个类 xff1a std ifstream x
  • #include<chrono>

    include lt chrono gt 是C 43 43 标准库中用于处理时间和持续时间的头文件 chrono库提供了一系列用于表示时间点 时间段和时钟的类和函数 以下是chrono库中一些常用接口和用法 xff1a 持续时间 xff08

随机推荐

  • 【#include<opencv2/core/core.hpp>】

    include lt opencv2 core core hpp gt 是OpenCV库中的一个核心模块头文件 xff0c 它包含了许多用于处理图像和计算的基本数据结构 函数和类 以下是opencv2 core core hpp中的一些常用
  • 逐函数详细讲解ORB_SLAM2算法和C++语法|LoadImages|2-1

    完整可执行代码 https github com xiaoqiuslam orb2 视频讲解 逐函数讲解ORB SLAM2源码 xff5c 1 加载Euroc数据集图像 逐函数讲解ORB SLAM2源码 1 加载Euroc数据集图像 逐函数
  • Makefile介绍

    概述 什么是makefile xff1f 或许很多Windows的程序员都不知道这个东西 xff0c 因为那些Windows的集成开发环境 xff08 integrated development environment xff0c IDE
  • 逐函数详细讲解ORB_SLAM2算法和C++语法|System|2-2

    span class token comment Create SLAM system It initializes all system threads and gets ready to process frames span ORB
  • c_cpp_properties.json vscode ubuntu18.04

    在 Ubuntu 18 04 上使用 Visual Studio Code 时 xff0c 你可以根据以下示例配置 c cpp properties json 文件 假设你已经安装了 GCC 和 G 43 43 编译器 xff0c 这个示例
  • 激光SLAM 算法匹配原理

    文章目录 1 数据获取 xff1a 2 数据关联 xff1a 3 匹配 xff1a 4 位姿更新 xff1a 5 地图更新 xff1a 6 循环 xff1a 数据关联二维激光局部定位算法原理 激光SLAM xff08 Simultaneou
  • 【ORB_SLAM2 CMakeLists.txt 文件详解】

    文章目录 ORB SLAM2 CMakeLists txt 文件详解 set CMAKE LIBRARY OUTPUT DIRECTORY PROJECT SOURCE DIR lib add library PROJECT NAME SH
  • 数据结构知识体系框架图

  • [TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波

    这几天做电赛学习了TM4C123 单片机 总得来说 结合官方例程与参考手册 加上一个好的示波器 效率会高很多 TI的SSI 实际上就是SPI 我门先熟悉一下SPI SPI 就是在主机与从机之间用来传输数据的 通过TX RX传输数据 通过CS
  • 压力BMP180传感器时序详解

    BMP180是一种高精度数字压力传感器 xff0c BMP180的超低功耗 xff0c 低电压电子元件经过优化 xff0c 适用于移动电话 xff0c PDA xff0c GPS导航设备和户外设备 UP 61 压力数据 xff08 16到1
  • C3D行为识别(一):UCF101视频数据集预处理

    行为识别 xff08 一 xff09 xff1a UCF101视频数据集预处理 文章目录 行为识别 xff08 一 xff09 xff1a UCF101视频数据集预处理1 数据集介绍1 1 UCF101 2 UCF101预处理2 1 划分t
  • Linux学习-坑多就慢慢填

    Linux学习 坑多就慢慢填 刚开始想找个资料丰富的开发板学习Linux xff0c 那时正点原子和野火都上架了NXP芯片的开发板 xff0c 因为经常用正点原子的硬件 教程和论坛 xff0c 毅然选择了正点原子的NAND版 xff0c 实
  • 树莓派 I2C通信,控制多个I2C从设备

    1 需要安装 i2c tools工具 在黑框输入 xff1a sudo apt get install i2c tools 2 后续编程使用python库 在黑框输入 xff1a sudo apt get install python sm
  • 软件框架详解

    软件框架至少包含以下组成部分 xff1a xff08 1 xff09 一系列完成计算的模块 xff0c 在此称为构件 xff08 2 xff09 构件之间的关系与交互机制 xff08 3 xff09 一系列可变点 xff08 也称热点 xf
  • oauth2四种模式的流程图

    参照https www ruanyifeng com blog 2019 04 oauth grant types html 以下为自己的理解整理 xff0c 授权码和密码模式是用户使用第三方平台账号授权给客户端应用 xff0c 来获取受第
  • Linux 应用开发 - 必须掌握的 5 个底层 IO 函数

    底层输入输出 xff08 Low Level Input Output xff09 这篇博客主要介绍 Linux 原生的 IO 操作 xff08 Low IO xff09 xff0c 你可能会想不是有跨平台的 ANSI C 可以使用么 xf
  • 为什么选择嵌入式方向

    本文出自 同济大学软件学院院长谈 嵌入式 方向选择 xff0c 个人感觉不错 xff0c 故转之 嵌入式系统无疑是当前最热门最有发展前途的 IT应用领域之一 嵌入式系统用在一些特定专用设备上 xff0c 通常这些设备的 硬件资源 xff08
  • 关于Apache的目录浏览功能

    近日 xff0c 公司有个需求需要使用到Apache的目录浏览功能 但是遇到了一点问题 xff0c 所以出现了这篇文章 linux安装Apache很简单 xff0c 使用yum安装即可 命令 xff1a yum y install http
  • Linux 下的make命令与Makefile

    概述 博客内容包含linux下make命令的使用与makefile的书写规则等 xff0c 希望通过本文档使读者对make命令makefile文件有进一步了解 xff0c 由于鄙人经验学识有限文档中会有描述不准确以及理解偏差 xff0c 欢
  • 人工智能会取代程序员吗?

    多亏了人工智能 xff08 AI xff09 xff0c 软件将在未来自行编写 至少 xff0c 这就是谷歌首席执行官桑达尔 皮查伊 xff08 Sundar Pichai xff09 对软件开发未来的看法 他是对的 xff01 这并不能使