【送书活动】AI时代,程序员需要焦虑吗?

前言

在这里插入图片描述
「作者主页」:雪碧有白泡泡
「个人网站」:雪碧的个人网站
「推荐专栏」

java一站式服务
React从入门到精通
前端炫酷代码分享
★ 从0到英雄,vue成神之路★
uniapp-从构建到提升
从0到英雄,vue成神之路
解决算法,一个专栏就够了
架构咱们从0说
★ 数据流通的精妙之道★
★后端进阶之路★

请添加图片描述

文章目录

  • 前言
  • 引言
  • 一、程序员会被 AI 取代么?
  • 二、服务端开发尚难被 AI 取代
  • 三、服务端开发何去何从?
  • 四、业界首部体系化、全景式解读服务端开发的著作
    • 第一部分:服务端开发的技术和方法
    • 第二部分:服务端典型问题的解决方案
    • 读者对象:
  • 五、参与抽奖

原文来自 微信公众号"互联网技术人进阶之路".

在这里插入图片描述

引言

ChatGPT 横空出世后,“AI 即将取代程序员” 的观点一度引发热议,至今尚未完全冷却。
ChatGPT 是一种基于人工智能技术的对话生成系统,其受欢迎的程度在一定程度上说明了人们对于人工智能技术的兴趣和追求。但是,从目前的实际情况来看,人工智能技术还没有达到完全替代程序员的程度。

首先,AI 技术在程序员的工作中发挥的作用仅是提高了工作效率和准确性。例如,AI 可以帮助程序员完成代码的自动化测试、代码审查等重复的、容易出错的工作。但是,自动化测试和代码审查实际上只是程序员工作中的一小部分,大部分的工作仍需要程序员自己动手完成。

其次,AI 技术还无法完全取代程序员在创造性问题上的发挥作用。例如,在项目的需求分析、设计和策划过程中,需要程序员进行创造性思考和判断,AI 技术还没有完全达到这一点。

所以,可以说 ChatGPT 对话生成系统的出现并不会导致程序员的完全失业,而是在一定程度上提高了程序员工作的效率和准确性。程序员仍需要在许多方面进行思考和创新,以满足现代软件开发领域的需求。

在这里插入图片描述

在这里插入图片描述

2022 年 11 月 30 日,OpenAI 发布了一款名为 ChatGPT 的聊天机器人程序,旋即引爆网络,在全球范围内引起巨大反响。紧随其后,各种大语言模型如雨后春笋不断出现。国外如 Google 的 Bard、Anthropic 的 Claude,国内如百度文心一言、阿里通义千问、讯飞星火认知大模型、昆仑万维天工大模型等。

相较于之前的模型,以 ChatGPT 为代表的大语言模型在代码生成、代码解释能力方面有了质的飞跃,很多程序员已经开始借助大语言模型编写、优化代码,因此很多人认为 “程序员即将被 AI 所取代”。

一、程序员会被 AI 取代么?

“AI 取代程序员” 并不是什么新鲜的话题,事实上,早在“低代码”概念出现时,人们就已经开始讨论程序员是否会被淘汰的话题了。在 ChatGPT 横空出世后,该话题被人们连夜从地里挖出,重新装扮后,紧急上线,再度推上了热搜。

目前,一些有条件的人已经开始借助 AI 来学习技术、编写代码和辅助解决问题等。AI 技术极大地缩短了掌握知识的路径,一些原本需要读很多书、看很多专栏才能搞懂的知识点,让 AI 工具给你举例子,并用通俗易懂的语言来解释,就可以快速地掌握。一些看似并不复杂的代码,如果你自己去写可能要写半小时, AI 则可能只需一两分钟就能产出,而且质量往往更高。有了 AI 的加持,那些编程经验并不丰富的初级工程师,也可以 “写出” 相对优秀的代码。

AI 给很多行业带来无限可能,在部分场景下,AI 可以大幅提高开发效率。在不久的将来,AI 有望取代一些低水平(比如仅会 CRUD)的程序员 。不过,就笔者使用 ChatGPT 辅助编程的经验来看,AI 目前生成代码的水平,要全面取代程序员还有很长的一段路要走。

二、服务端开发尚难被 AI 取代

大型软件系统,本身往往具有较高的复杂度。我们可以简单地将复杂度分为两个维度:业务与技术。高业务复杂度的系统,必须进行科学、有效的需求分析与领域建模,方可在满足当前功能性需求的同时获得可持续演进的应用架构;高技术复杂度的分布式系统,则需要充分考虑诸如高并发、高可用、高性能、数据一致性等非功能性问题,才能在设计权衡中寻求技术架构最优解。纵观全球,AI 的水平尚无法应对上述两种复杂度。

此外,大模型虽然具备生成代码、解释代码甚至优化代码的能力,但是还多停留在 “函数/方法” 维度,不能很好地生成类维度、模块维度、项目维度的代码。同时,生成的代码仍然需要人工审阅、优化、部署、验证。对于复杂的任务,还需要人工拆解为大模型能够 “理解” 的粒度。

在这里插入图片描述

再者,即便不考虑数据安全、自研模型成本等因素,单就服务端研发流程来看。编码只是整个软件生命周期的一环 ,软件开发还包括需求分析、抽象建模、系统设计、数据设计、非功能性设计、测试、运维等环节。很多时候,编写代码作为解决问题的最终手段,并不困难,而困难在于对问题的识别、理解、定义和抽象,这些都依赖人工反复推演。当一个问题被明确并拆解到软件项目维度的时候,面对确定的任务、清晰的目标、合理的架构,可以解决问题的人就非常多了,AI 自然也才有用武之地。

三、服务端开发何去何从?

AI 时代必将对人类社会的生产、生活带来深刻的变革。虽然目前大模型还存在很多缺点,如幻觉、推理能力弱等问题,但是,其潜力不可小觑。某种意义上,正是因为大模型还不完美,我们才没那么容易被淘汰。

AI 时代,简单、重复的任务被 AI 取代是不可避免的。新的时代,我们需要重新审视核心竞争力的内涵, 持续学习,不断夯实自身的能力护城河。只有技术积累有足够的深度,才能提高对 AI 生成信息的辨识能力,才能在享受 AI 带来便利的同时,控制、降低其负面影响。

以服务端开发岗位为例,领域知识是最基础却又最重要的能力,但是,只有当领域知识形成体系时,才可以称之为真正的核心竞争力。那么,如何才能使自己的领域知识体系化呢?

想象一下,为什么你对家所在的小区周边特别了解,随便把你放在一个角落,你都能慢慢摸索出来?究其原因,是因为你脑海中已经形成了小区周边的整体大图,并对关键节点了然于胸。如果把你放到陌生的小区,你可能就懵了,关键节点、整体大图都没有,胡乱摸索,即便你把摸索路上所见到的每一个下水道井盖的情况都搞清楚了,也没什么意义,再过几条街你就忘了。

回到上面抛出的问题,高效学习、知识体系化的关键在于:构建宏观层面的整体大图,并深入理解关键知识点。这些关键点就是这个领域的骨架、支点。缺少骨架和支点自然难以体系化,缺了宏观大图则容易误入歧途。

四、业界首部体系化、全景式解读服务端开发的著作

在这里插入图片描述

《服务端开发:技术、方法与实用解决方案》一书取材自阿里和蚂蚁集团的精品内训课程,由资深服务端技术专家、技术讲师、阿里第二届技术讲师课程大赛年度冠军得主、CSDN 博客专家撰写。该书理论与实践结合,全景式、体系化地阐述了服务端开发,内容包括以下两个部分。

第一部分:服务端开发的技术和方法

首先介绍服务端开发的职责、技术栈、核心流程和进阶路径;然后从需求分析、抽象建模、系统设计、数据设计和非功能性设计5个方面展开,结合案例深入讲解了服务端开发的实操方法和重难点,为读者呈现服务端开发的全景图,帮助读者快速、体系化地掌握服务端开发的知识和方法。

第二部分:服务端典型问题的解决方案

针对高并发、高性能、高可用、缓存、数据一致性、幂等、秒杀等服务端开发实践中的典型问题,给出了对应的解决方案和开发规范,同时还结合案例深入分析了不同方案的优缺点。此外,还总结了接口设计、日志打印、异常处理、代码编写、代码注释等落地层面的行业案例和规范。

读者对象:

IT 从业人员:服务端开发工程师、客户端开发工程师、产品经理、测试开发工程师等。
高校学生:计算机、软件、自动化、电气、通信等专业有志于进入 IT 行业的在校学生。

在这里插入图片描述

五、参与抽奖

方式 抽奖方式:在评论区抽取五位小伙伴免费送出!!

参与方式:
√关注博主
√点赞,收藏以及在评论区评论"享受人生,不要焦虑!" (每个人最多评论三次)
活动截止时间: 2023年9月1日 20:00

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常见API架构介绍

常见API架构介绍 两个服务间进行接口调用,通过调用API的形式进行交互,这是常见CS架构实现的模式,客户端通过调用API即可使用服务端提供的服务。相较于SPI这种模式,就是服务端只规定服务接口,但具体实现交由第三方或者自…

mysql和mybatisPlus实现:datetime类型的字段范围查询

前提说明 数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型; 在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤 由此,便出现了这篇博客 datetime数据类型 在MySQL中,datetime数据类型用于保存日期和时间的值。它的格式为Y…

MyBatis分页查询与特殊字符处理

目录 目录 一、引言 1.1 简介Mybatis 1.2分页查询的重要性 1.3MyBatis特殊字符处理的挑战 挑战1:SQL注入漏洞 挑战2:查询结果异常 挑战3:数据完整性问题 挑战4:跨平台兼容性 挑战5:用户体验 如何应对挑战 二…

Python爬虫分布式架构 - Redis/RabbitMQ工作流程介绍

在大规模数据采集和处理任务中,使用分布式架构可以提高效率和可扩展性。本文将介绍Python爬虫分布式架构中常用的消息队列工具Redis和RabbitMQ的工作流程,帮助你理解分布式爬虫的原理和应用。 为什么需要分布式架构? 在数据采集任务中&#…

D.OASIS City 和 Warrix 在The Sandbox 庆祝 Rise of the 10th Legend十周年

D.OASIS 首次展示了变革性娱乐 D.OASIS City,正如它与 WARRIX 一起承诺的那样。WARRIX 是获得泰国国家队球衣生产授权的标志性运动服装品牌。 这款激动人心的游戏冒险游戏于今天推出,让用户能够投入 D.OASIS City x WARRIX:Rise of the 10th…

【前端从0开始】JavaSript——Date对象

创建Date对象 var dateObjnew Date(); 方法 将日期转为字符串 toLocaleString() toLocaleDateString() toLocaleTimeString()获取年、月、日、小时、分、秒 ○1)getYear() //两位的年(2000年前)或三位的年[1900] 获取两位数的年,从1900年开始计算&…

数学系硕士研究生的科研过程——PDE约束下含参优化控制问题的深度学习算法

笔者今天上午收到了之前北大课题组老板的通知,得知研究生期间和学长合作的论文终于被siam接收,终于为自己研究生涯画上了一个句号。这里打算分享一下个人的科研过程以及这篇论文的工作,即将读研或者打算读研的同学或许可以从中获得益处。论文…

Golang Gorm 高级查询之where + find

插入测试数据 package mainimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm" )type Student struct {ID int64Name string gorm:"size:6"Age intEmail *string }func (*Student) TableName() string {return "student&q…

浅析SAS协议:链路层

文章目录 概述原语通用原语连接管理原语连接通信原语 地址帧IDENTIFY地址帧OPEN地址帧 链路复位Link ResetHard ResetSATA的Link Reset 连接管理建立连接连接仲裁 流量控制SSP流控Credit Advance SMP流控 相关参考 概述 SAS链路层用于定义原语、地址帧以及连接相关的内容&…

基金市场的冷热传递什么信号?

摘要及声明 1:本文主要利用实际数据进行检验,从定量角度分析基金发行情况与股票市场之间的关系; 2:本文主要为理念的讲解,模型也是笔者自建,文中假设与观点是基于笔者对模型及数据的一孔之见&#xff0c…

高效UI设计必备的4个UI设计软件,真的好用!

随着UI设计工作的不断发展,工作中的需求变得更加多样,一个好用的 UI 设计软件将极大减轻设计师的工作负担,提高设计师的工作效率,今天本文精选了4款好用的UI设计软件,并将逐一介绍的它们各自的特点和用法,给…

经过6年发展,NIST发布三种可以抵御量子计算机未来攻击的算法标准草案

近日,美国国家标准与技术研究院(NIST)发布了2022年选定的四种算法中的三种算法的标准草案:CRYSTALS–KYBER、CRYSTALS–Dilithium和SPHINCS,第四种算法FALCON的标准草案将在大约一年内发布。 近年关于量子计算机的研究…

前端console.log打印内容与后端请求返回数据不一致

后端传值num0 前端打印num1 ,如图,console.log后台显示的数据与展开后不一致 造成该问题原因是深拷贝与浅拷贝的问题。 var obj JSON.parse(JSON.stringify(res)) 修改后打印 正常

微信小程序隐私协议接入

自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,微信要求,仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则后,方可调用微信提供的隐私接口。 相关公告见:关于小程序隐私保…

Python实现T检验

今天来分享一下T检验的python实现方法。 01 先来上一波概念。 1.单样本t检验,又称单样本均数t检验,适用于来自正态分布的某个样本均数与已知总体均数的比较,其比较目的是检验样本均数所代表的总体均数是否与已知总体均数有差别。已知总体均数…

hiredis的安装与使用

hiredis的介绍 Hiredis 是一个用于 C 语言的轻量级、高性能的 Redis 客户端库。它提供了一组简单易用的 API,用于与 Redis 数据库进行交互。Hiredis 支持 Redis 的所有主要功能,包括字符串、哈希、列表、集合、有序集合等数据结构的读写操作&#xff0c…

【CSS 画个梯形】

使用clip-path: polygon画梯形 clip-path: polygon使用方式如下: 效果实现 clip-path: polygon 是CSS的属性之一,用于裁剪元素的形状。它可以通过定义一个具有多边形顶点坐标的值来创建一个多边形的裁剪区域,从而实现元素的非矩形裁剪效果。…

Python实现企业微信群告警

Python实现企业微信告警 1. 创建企业微信群机器人 1-1. 什么是企业微信群机器人? 企业微信群机器人是企业微信平台提供的一种功能,可以通过Webhook方式将消息发送到指定的企业微信群中。它可以用于自动化发送通知、告警等信息,实现监控和信…

设计模式之职责链模式(ChainOfResponsibility)的C++实现

1、职责链模式的提出 在软件开发过程中,发送者经常发送一个数据请求给特定的接收者对象,让其对请求数据进行处理(一个数据请求只能有一个对象对其处理)。如果发送的每个数据请求指定特定的接收者, 将带来发送者与接收…

elementUI moment 年月日转时间戳 时间限制

changeStartTime(val){debuggerthis.startT val// this.startTime parseInt(val.split(-).join())this.startTime moment(val).unix() * 1000 //开始时间毫秒if(this.endTime){this.endTime moment(this.endT).unix() * 1000 //结束时间毫秒if(this.startTime - this.endTi…