本文正在参加「金石计划」

flag:每月至少产出三篇高质量文章~

欢迎重视之前的几篇文章:

  • 【脚手架】从0到1建立React18+TS4.x+Webpack5项目(一)项目初始化
  • 【脚手架】从0到1建立React18+TS4.x+Webpack5项目(二)根底功用装备
  • 【脚手架】从0到1建立React18+TS4.x+Webpack5项目(三)代码质量和git提交标准
  • 【脚手架】从0到1建立React18+TS4.x+Webpack5项目(四)发布脚手架
  • 【Go】依据 Gin 从0到1建立 Web 管理后台体系后端服务(一)项目初始化、装备和日志
  • 【重学CSS】图文并茂!一次性搞懂 Flex 布局,实现“布局自由”~
  • 【重学CSS】图文并茂!一次性搞懂 Grid 布局,实现“布局自由”~
  • 【微前端】手把手教你从0到1实现依据Webpack5 模块联邦(Module Federation)的微前端~
  • 【微前端】在造一个微前端轮子之前,你需求知道这些~
  • 【React】万字长文!100+个让你事半功倍的常用 React Hooks 和东西包
  • 【React】面试官:如何在页面改写之后坚持状况?看看你知道几种~
  • 【2023】前端趋势前瞻,学起来!

1、为什么说 “xx si了” ?

年后的这段时刻,MM 上最火的的话题莫过于 “XX已死” 了吧,今日这个岗位si,明日又轮到下一个,周而复始…..我觉得首要有以下的几个原因吧:

  1. 后YQ年代的大环境(监管走严以及方针的脱虚向实),导致整个职业的用工需求萎缩;
  2. 仍在高位的毕业生数量,导致的人多粥少的格局;
  3. chatGPT 为代表的人工智能的突然爆发,导致被机器代替的焦虑在逐步蔓延;
  4. 前端生态已趋于完善,三大结构鼎足而立,开发范式已根本稳定。并且也已多年未呈现真正具有挑战三大结构地位的新玩意了,咱们也卷不起来了,无非便是去卷东西了,各种 GoRust 重写的前端东西;

特别是在前几天 GPT-4 那个令人形象很深刻的demo:GPT-4 能够将网站的手绘草图变成功用齐全的网站,包括用一些 JS 来写 “Reveal Punchline” 按钮。

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

我想大多人看了之后的第一感觉都是:WTF!!?这么NB的吗,这样都能够,那还要我一个切图仔作甚??不止国内,国外也是一片哀嚎:

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

问题是咱们平常都是开发这种“高档”页面?这种作业早在十几年前就有东西干过了,还记得吗?便是曾经的网页开发神器 —— Dreamweaver,只不过,它现在加了一个图像识别的玩意又吓了你一次。实际上,几乎从很早开始,就有人忧虑 Web 开发人员会被某些新技术淘汰。在 2000 年代,它是 WordPress。在 2010 年代,它是 Webflow。在 2020 年代初期,它是“无代码”、“低代码”东西。

2、为什么说 “xx 不会si” ?

先来看看最近两天很火的:

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

就这,恐怕连规划师都还代替不了!

难怪有人说,文心一言和chatGPT最大的区别是,文心一言是人工,chatGPT是智能。我真是笑不活了!

PS:哈哈,开个玩笑哈!尽管不完美,但人家 BD 有勇气扛起这面旗号,最少架子已经搭起来了,点赞!

假如说永久不会si,绝对了点,那至少能够必定的是短期内还si不了。为什么这么说呢?我的考虑首要有以下几点:

2.1 数据的准确性

至少到目前为止,咱们看到的大多数 demo 所演示的规模都很有限:一个简略的 HTML 页面,或许一个 JavaScript 函数,这些咱们原本就能够通过查找引擎去干的作业,只不过效率上比 chatGPT 慢一点而已。但实际上,假如你真的有经常运用 chatGPT,你会发现,它其实并不是每次都能给到你想要的答案,并且偶尔仍是过错的答案。所以,它本身就有一个致命的问题:准确率!

ChatGPT 是一个大规模的言语模型,不断地练习以进步响应的准确性。可是,由于这是一项全新的技术,该模型没有通过充沛的练习。因此,人工智能谈天机器人或许会提供过错的答案。正由于如此,StackOverflow 禁止了 ChatGPT,并表示:“总的来说,由于从 ChatGPT 取得正确答案的均匀比率太低,发布由 ChatGPT 生成的答案对咱们的网站以及询问或查找正确答案的用户来说是十分有害的。”

其实这背面的逻辑并不难了解,chatGPT 所练习的数据来源于互联网,它目前还具有自我生成、左右手互博的才干,也就意味着,答案的终究来源仍然是网页背面千千万万的开发者。假如他们被一瞬间干掉了,chatGPT 的数据从哪来?答案的保真度、新鲜度从何而来?你敢说 2 年、3年、5年后的React写法、功用和现在一样?还有那千千万万不断迭代的 npm 包!

更有甚的或许会是一些严重的社会民生问题,比方,你司的医疗APP接入 chatGPT,作为24小时人工智能客服机器人给患者问诊开药,你能确保机器人不会将感冒过错地确诊为XinGuan?你能确保机器人不会给患者开错药?

因此,准确性或许会逐步进步,但永久不会完美,由于互联网上的数据本身准确性就十分有问题。在庞大的用户群面前,哪怕一两个典型的事情就足或许杀死一家公司,更别说几十上百件。

2.2 代码调试

准确率的问题必定就带来另一个更重要的问题:调试~ 没几个人敢说他的代码是不需求通过调试、测验、联调,一把搜哈就能够直接上出产的。

在你充沛给足问题上下文的前提下,你让 chatGPT 生成一个几十行的代码 snippet,它大多数状况下会给你一个不需求太多修改的答案。可是,这和吐出一个能够直接上出产的 Web 使用程序之间仍是存在比较大的差异的。

特别是当咱们的工程比较复杂,变得比较大之后,各种问题就来了,哪怕你 chatGPT 的准确率高达98%,在巨大的代码量和文件相互之间复杂引证联系的状况下,问题代码的数量不行小觑,依然需求经历丰富的工程师来调试。

2.3 新需求

咱们日常开发中,大多数的需求应该仍是能够闭着眼就能完成的,毕竟谁还不会 CV 大法呢,你说是吧?找个相似的页面,扣过来一顿魔改,run 出去,done!

可是!某一天,产品说,市场那边反应了,咱们需求做一个新功用:做一个会依据手机壳色彩而改动主题色彩的APP!

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

于是,你把这一句话需求输入到 chatGPT,满心欢喜地等候答案:

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Change Theme Color Based on Phone Case</title>
    <style>
      :root {
        --color-theme: #333; /* default theme color */
      }
      body {
        background-color: var(--color-theme);
        color: white;
      }
      .button {
        background-color: var(--color-theme);
        color: white;
        padding: 1rem;
        border-radius: 0.5rem;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <h1>Change Theme Color Based on Phone Case</h1>
    <p>This app will change its theme color based on the color of your phone case!</p>
    <button class="button">Click me!</button>
    <script>
      // Detect phone case color and set it as theme color
      var phoneCaseColor = "red"; // Replace with code to detect phone case color
      document.documentElement.style.setProperty('--color-theme', phoneCaseColor);
    </script>
  </body>
</html>

干!你跟我说啥呢,就这么简略?刚刚跟产品那一架白打了?!显然,这种玩具代码是上不了出产的!光就这一点,它短时刻内就干不掉开发!

2.4 交流需求人

在流程比较标准的公司待过的同学应该都知道,一个软件或许说程序的开发一般都不只有开发,大致的流程:

  1. 调研(需求搜集)
  2. 项目立项
  3. 需求收拾(出PRD)
  4. UI、UE
  5. RD、QA、UE、UI做需求评审
  6. RD做架构规划、技术调研,UE做交互规划、QA做测验用例
  7. RD、UE、UI、QA评审,排期
  8. 开发、联调、测验
  9. 产品检验
  10. 上线准备
  11. 灰度
  12. 上线

至少从第5点开始,就需求开发深度参加了,这些过程一般都是需求做很多的有用交流和协调,才干确保程序能够在deadline 之前上线。并且有些时分,需求靠经历、sense、默契才干确保产品在上线后不出大问题。

coding 仅仅其中一小环,工程师需求深化了解事务需求和做深化的技术调研和预研,才干决定要编写什么样的代码,或许是否需求编写怎样的代码!

AI 取得正确的回答还需求你知道要怎么问问题,问什么问题。AI 不会深化考虑你的环境、根底设施和一些定制化的需求,由于这是人的专利

2.5 国外网友怎么看

美版知乎 Quora 上有一个问题:Will ChatGPT replace programmers? – Quora,我看绝大多数人对此仍是持保留情绪的。

我截取几段比较有代表性的回复供咱们参阅:

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

GPT-4 炸裂成那样,前端真的还有机会吗?我是这么看的~

3、chatGPT 会怎样改动咱们?

我认为首要会在以下几个方面改动咱们:

  1. 改善/重构/简化现有代码:运用 ChatGPT 改善、重构甚至简化现有代码。

  2. 将代码从一种言语翻译成另一种言语:例如,你能够要求 ChatGPT 将代码从 python 翻译成 javascript 或许 go

  3. 写测验:让 ChatGPT 帮你测验一个功用,它会帮你写测验用例。

  4. 探究代替计划ChatGPT 十分拿手建议代替实施计划,尽管有时答案并不那么完美,改改也是能用的。

  5. 编写文档ChatGPT 能够为小块代码编写文档。

  6. 查找过错:假如您认为自己的代码中存在过错并且找不到它,ChatGPT 或许会有所协助。

3.1 赋能而不是代替

木匠没有被电动东西代替,会计师没有被Excel代替,摄影师没有被数码相机和智能手机代替,并且我认为开发人员不会被 chatGPT 们代替。

我认为最有或许的状况是像 GPT-4 这样的东西会被集成到开发者运用的东西中,并被用来赋能开发人员,让他们从一些低质量、重复性的作业者摆脱出来,去做一些更有价值的作业。ChatGPT 不太或许代替程序员。尽管 ChatGPT 是一种强大的 AI 言语模型,已经在很多文本数据上进行了练习,但它不具有编程或开发软件的才干。

编程需求一套共同的技术,例如逻辑、解决问题和对编程言语的了解,而这些是 ChatGPT 所不具有的。尽管它能够协助程序员完成代码生成等使命,但它不能彻底代替人类程序员所拥有的创造力、解决问题和批判性思想的才干。程序员在软件、网站和其他技术产品的开发中发挥着关键作用,他们的专业知识对于规划和创建这些产品至关重要。

还有一种观念是,那咱们或许不需求那么多程序员了。我觉得也不一定,取决于经济社会的发展状况,假如 chatGPT 真的引发一场新的科技革命,不知道有多少使用或许说服务将被重写,又有多少新的需求将被催生,代替程序员又从何谈起呢。

并且另一个问题是,跟着老龄化、少子化的状况越发严重,未来一二十年,劳动力数量将逐步摸峰然后往下掉。说不定,等你60岁的时分,还会强制让你爬起来再卷5年!!哈哈

3.2 初级程序员或许有点风险

假如你的作业是能够自动化能够做的作业,或许仅仅编写复杂性很小或没有复杂性的根本代码块,那么你或许比较风险了。特别是那种入行仅仅为了混口饭吃,作业之外的时刻没啥补充和提高的开发,或许跟着时刻的推移就温水煮青蛙了。

假如你还停留在 “前端三板斧(html、css、js)” 的年代,我劝你去看看其他的致富之路吧。跟着东西的日渐智能,低端的切图作业会被代替掉,或许这时分公司会要求你不止会前端,还要求你能写点 CRUD,会搭 CI/CDDevOps等,还有很多新式技术、库和结构的呈现,各个领域必定会朝着新的开发标准转变,这时分假如你还仅仅个初级的工程师,大概率是只能喝汤了。

ChatGTP 等依据人工智能的东西还处于起步阶段,但你必须意识到,许多初级水平的技术人员或许无法与高档软件开发人员和人工智能东西的组合竞争,曾经雇佣初级开发或许是拿来完成一些技术含量低、重复性的作业,现在有了人工智能这么好的辅佐,也就不需求初级开发了,这或许才是咱们必须要意识到的问题。

4、结语

尽管在短期内,ChatGPT 将使开发人员能够更快地完成开发作业,而不是代替他们。但技术的发展一日千里,很难幻想 ChatGPT 及其他的大模型在 10 到 20 年后会是什么姿态。也许在 10 到 20 年内,人工智能体系将使非程序员的人运用自然言语指令进行日常的开发,那或许就真的是一个 “人人都是全干工程师” 的国际了!

谁知道呢?哈哈,只能说尽或许提高自己吧,技多不压身,这句话放哪个年代都是金玉良言!!!

我目前是这么看的,不知道咱们什么观点,谈论区留言!

end~