AI助手崛起:开发者的新伙伴还是未来替代者?

你好,我是三桥君。

自从 ChatGPT 问市以来,AI 将取代开发者的声音不绝于耳,至今还是互联网异常火热的问题。

在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。

比如在代码生成方面,可以让大模型生成游戏代码。

“请帮我生成一个可以直接在网页运行的贪吃蛇游戏的代码”

我将这段代码复制到一个HTML文件中,然后用浏览器打开这个文件,试试能不能运行贪吃蛇游戏。

<!DOCTYPE html>
<html>
<head><title>贪吃蛇游戏</title><style>canvas {border: 4px solid black;}</style>
</head>
<body><canvas id="gameCanvas" width="400" height="400"></canvas><script>var canvas = document.getElementById("gameCanvas");var ctx = canvas.getContext("2d");var box = 20;var snake = [];snake[0] = { x: 10 * box, y: 10 * box };var food = {x: Math.floor(Math.random() * 20) * box,y: Math.floor(Math.random() * 20) * box};var d;document.addEventListener("keydown", direction);function direction(event) {if (event.keyCode == 37 && d != "RIGHT") {d = "LEFT";} else if (event.keyCode == 38 && d != "DOWN") {d = "UP";} else if (event.keyCode == 39 && d != "LEFT") {d = "RIGHT";} else if (event.keyCode == 40 && d != "UP") {d = "DOWN";}}function draw() {ctx.clearRect(0, 0, 400, 400);for (var i = 0; i < snake.length; i++) {ctx.fillStyle = (i == 0) ? "green" : "white";ctx.fillRect(snake[i].x, snake[i].y, box, box);ctx.strokeStyle = "black";ctx.strokeRect(snake[i].x, snake[i].y, box, box);}ctx.fillStyle = "red";ctx.fillRect(food.x, food.y, box, box);var snakeX = snake[0].x;var snakeY = snake[0].y;if (d == "LEFT") snakeX -= box;if (d == "UP") snakeY -= box;if (d == "RIGHT") snakeX += box;if (d == "DOWN") snakeY += box;if (snakeX == food.x && snakeY == food.y) {food = {x: Math.floor(Math.random() * 20) * box,y: Math.floor(Math.random() * 20) * box};} else {snake.pop();}var newHead = {x: snakeX,y: snakeY};if (snakeX < 0 || snakeY < 0 || snakeX >= 20 * box || snakeY >= 20 * box || collision(newHead, snake)) {clearInterval(game);}snake.unshift(newHead);}function collision(head, array) {for (var i = 0; i < array.length; i++) {if (head.x == array[i].x && head.y == array[i].y) {return true;}}return false;}var game = setInterval(draw, 100);</script>
</body>
</html>

我们可以发现,这个贪食蛇游戏的代码是可以运行的。 而且游戏中,可以使用键盘上的方向键来控制蛇的移动。

这也引发了对开发者职业前景和技能需求变化的讨论。

AI究竟是在帮助开发者还是取代他们?

国内外的大佬也纷纷对称进行表态。

国外某AI科技公司创始人曾预言:“五年内,人类程序员将彻底消失。”

国内某大厂公司创始人表示,“基本上说以后其实不会存在“程序员”这种职业了,或者说所有人只要会说话,甚至连写字可能都不用,你只要会说话了,你就会具备今天的程序员所具备的能力。”

此外,他还表示,大模型和生成式AI,将彻底改变开发者这个群体,未来开发应用就像拍个短视频一样简单。

如今,某初创公司宣布推出全球首个AI软件工程师,并号称会彻底改变人类构建软件的方式。能自学新语言、开发迭代 App、自动 Debug。用户只需在界面输入一句指令,就能端到端处理整个开发项目。

此外,该AI软件工程师擅长长期推理能力,可以自主规划和完成软件项目,并在此过程中做出数以千计的准确决策。

难道,AI真会取代开发者吗?

三桥君认为,目前来看,AI确实是在帮助开发者,但长期来看,AI可能会替代掉很多普通开发者。

就像我前面讲的,目前在代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。

比如CSDN,为开发者提供AI工具,期望成为最适合开发者的一站式综合AI赋能平台。

比如文心一言,也为开发者提供AI工具,包括python金字塔、python代码纠错、代码转化、代码Debug等等。

这些AI工具所传达的理念,就是AI帮助开发者。

但是,随着AI技术的发展和革新,简单的编程任务将逐渐被AI取代,甚至AI能够实现自己编写代码和修改Bug等能力,以致于传说中的“CV大法工程师”将面临重大的危机与挑战

因为有一些AI系统,比如GitHub的Copilot,能够理解编程语言的语法和语义,并在此基础上生成代码片段,帮助开发者提高编程效率。

此外,一些静态代码分析工具也能够利用AI技术来检测潜在的bug和安全性问题,并提出修改建议。

所以,长期来看,随着AI技术的发展和革新,使得在软件开发领域的普通开发者工作内容,尤其是那些从事重复性高、标准化程度高的工作的开发者,如果AI完全能够自动化完成的话,那么AI是完全有可能会替代掉很多普通开发者。

因此,目前AI确实是在帮助开发者,更多的是充当一个工具助手、副驾驶的角色。但长期来看,AI大概率会替代掉很多普通开发者。

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

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

相关文章

【JavaWeb程序设计】JSP编程

目录 一、编写JSP页面&#xff0c;在界面上显示1-9&#xff0c;9个链接&#xff0c;单击每个链接&#xff0c;能够在另一个页面打印该数字的平方。 1. 运行截图 2. 第一个jsp页面&#xff08;index.jsp&#xff09; 3. 第二个jsp页面&#xff08;square.jsp&#xff09; 二…

Arc for Windows 无法使用?一篇文章教会你!

&#x1f44b; 大家好&#xff0c;我是 Beast Cheng &#x1f4eb; 联系我&#xff1a;458290771qq.com &#x1f331; 接合作、推广…… 什么是Arc浏览器&#xff1f; Arc浏览器是The Browser Conpany使用Swift语言开发的一款浏览器&#xff0c;Arc浏览器由其漂亮的侧边栏闻名…

Python 异步编程介绍与代码示例

Python 异步编程介绍与代码示例 一、异步编程概述 异步编程是一种编程范式&#xff0c;它旨在处理那些需要等待I/O操作完成或执行耗时任务的情况。在传统的同步编程中&#xff0c;代码会按照顺序逐行执行&#xff0c;直到遇到一个耗时操作&#xff0c;它会阻塞程序的执行直到…

Codeforces Round 903 (Div. 3)A~F

A.Dont Try to Count 输入样例&#xff1a; 12 1 5 a aaaaa 5 5 eforc force 2 5 ab ababa 3 5 aba ababa 4 3 babb bbb 5 1 aaaaa a 4 2 aabb ba 2 8 bk kbkbkbkb 12 2 fjdgmujlcont tf 2 2 aa aa 3 5 abb babba 1 19 m mmmmmmmmmmmmmmmmmmm输出样例&#xff1a; 3 1 2 -1 1 0…

1999-2022年企业持续绿色创新水平数据

企业持续绿色创新水平数据为研究者提供了评估企业在绿色技术领域创新持续性和能力的重要视角。以下是对企业持续绿色创新水平数据的介绍&#xff1a; 数据简介 定义&#xff1a;企业持续绿色创新水平反映了企业在一定时期内绿色专利申请的持续性和创新能力。计算方法&#xf…

初识STM32:开发方式及环境

STM32的编程模型 假如使用C语言的方式写了一段程序&#xff0c;这段程序首先会被烧录到芯片当中&#xff08;Flash存储器中&#xff09;&#xff0c;Flash存储器中的程序会逐条的进入CPU里面去执行。 CPU相当于人的一个大脑&#xff0c;虽然能执行运算和执行指令&#xff0c;…

通信协议:常见的芯片内通信协议

相关阅读 通信协议https://blog.csdn.net/weixin_45791458/category_12452508.html?spm1001.2014.3001.5482 本文将简单介绍一些常见的芯片间通信协议&#xff0c;但不会涉及到协议的具体细节。 一、AMBA&#xff08;Advanced Microcontroller Bus Architecture&#xff09;…

MySQL之备份与恢复(七)

备份与恢复 文件系统快照 规划LVM备份 LVM快照备份也是有开销的。服务器写到原始卷的越多&#xff0c;引发的额外开销也越多。当服务器随机修改许多不同块时&#xff0c;磁头需要需要自写时复制空间来来回回寻址&#xff0c;并且将数据的老版本写到写时复制空间。从快照中读…

刷题之多数元素(leetcode)

多数元素 哈希表解法&#xff1a; class Solution { public:/*int majorityElement(vector<int>& nums) {//map记录元素出现的次数&#xff0c;遍历map&#xff0c;求出出现次数最多的元素unordered_map<int,int>map;for(int i0;i<nums.size();i){map[nu…

最适合mysql5.6安装的linux版本-实战

文章目录 一, 适合安装mysql5.6的linu版本1. CentOS 72. Ubuntu 14.04 LTS (Trusty Tahr)3. Debian 8 (Jessie)4. Red Hat Enterprise Linux (RHEL) 7 二, 具体以Ubuntu 14.04 LTS (Trusty Tahr)为例安装虚拟机安装Ubuntu 14.04 LTS (Trusty Tahr) 自己弄安装ssh(便于远程访问,…

前端八股文 对$nextTick的理解

$nexttick是什么? 获取更新后的dom内容 为什么会有$nexttick ? vue的异步更新策略 (这也是vue的优化之一 要不然一修改数据就更新dom 会造成大量的dom更新 浪费性能) 这是因为 message &#xff08;data&#xff09;数据在发现变化的时候&#xff0c;vue 并不会立刻去更…

240705_昇思学习打卡-Day17-基于 MindSpore 实现 BERT 对话情绪识别

240705_昇思学习打卡-Day17-基于 MindSpore 实现 BERT对话情绪识别 近期确实太忙&#xff0c;此处仅作简单记录&#xff1a; 模型简介 BERT全称是来自变换器的双向编码器表征量&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff0c…

【wordpress教程】wordpress博客网站添加非法关键词拦截

有的网站经常被恶意搜索&#xff0c;站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢&#xff1f;下面就随小编一起来解决这个问题吧。 后台设置预览图&#xff1a; 设置教程&#xff1a; 1、把以下代码添加至当前主题的 functions.php 文件中&#xff1a; add_action(admi…

CVPR 2024最佳论文分享:通过解释方法比较Transformers和CNNs的决策机制

CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;是计算机视觉领域最有影响力的会议之一&#xff0c;主要方向包括图像和视频处理、目标检测与识别、三维视觉等。近期&#xff0c;CVPR 2024 公布了最佳论文。共有10篇论文获奖&#xff0c;其…

计算组的妙用!!页面权限控制

需求描述&#xff1a; 某些特殊的场景下&#xff0c;针对某页看板&#xff0c;需要进行数据权限卡控&#xff0c;但是又不能对全部的数据进行RLS处理&#xff0c;这种情况下可以利用计算组来解决这个需求。 实际场景 事实表包含产品维度和销售维度 两个维度属于同一公司下面的…

【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’ 一、分析问题背景 在Python编程中&#xff0c;FileNotFoundError是一个常见的异常&…

贝尔曼方程(Bellman Equation)

贝尔曼方程(Bellman Equation) 贝尔曼方程(Bellman Equation)是动态规划和强化学习中的核心概念,用于描述最优决策问题中的价值函数的递归关系。它为状态值函数和动作值函数提供了一个重要的递推公式,帮助我们计算每个状态或状态-动作对的预期回报。 贝尔曼方程的原理 …

Python 自动化测试必会技能板块—unittest框架

说到 Python 的单元测试框架&#xff0c;想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest。 的确&#xff0c;作为 Python 的标准库&#xff0c;它很优秀&#xff0c;并被广泛应用于各个项目。但其实在 Python 众多项目中&#xff0c;主流的单元测试框架远不止这一个…

西门子PLC1200--与电脑S7通讯

硬件构成 PLC为西门子1211DCDCDC 电脑上位机用PYTHON编写 二者通讯用网线&#xff0c;通讯协议用S7 PLC上的数据 PLC上的数据是2个uint&#xff0c;在DB1&#xff0c;地址偏移分别是0和2 需要注意的是DB块要关闭优化的块访问&#xff0c;否则是没有偏移地址的 PLC中的数据内…

elementui中日期/时间的禁用处理,使用传值的方式

项目中,经常会用到 在一个学年或者一个学期或者某一个时间段需要做的某件事情,则我们需要在创建这个事件的时候,需要设置一定的时间周期,那这个时间周期就需要给一定的限制处理,避免用户的误操作,优化用户体验 如下:需求为,在选择学年后,学期的设置需要在学年中,且结束时间大…