裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!
流量一跌再跌,Stack Overflow 简直被狠狠地上了一课!
3 月份 Stack Overflow 的流量下降了近 14%。该公司的 CEO 压力空前,甚至昨天决定裁员 10%!
平均每月下降6%,上月直接跌了近14%
开发人员越来越多地从 AI 聊天机器人和 GitHub CoPilot ,而非 Stack Overflow 留言板上获得建议。
与 OpenAI 的 ChatGPT 的流量呈指数级增长形成了鲜明对比,Stack Overflow 的流量一直呈现持续下降的态势。
然而,ChatGPT 并非导致 Stack Overflow 流量下降的唯一原因。实际上,自 2022 年初以来,就已经露出端倪。可以从 2022 年到现在几家社区的流量对比中看出答案。
-
与去年同期相比,自 2022 年 1 月以来, Stack Overflow (stackoverflow.com) 的流量平均每月下降 6%,3 月份下降了 13.9%。
-
ChatGPT 去年 11 月底才推出,没有同比记录,但它的网站 ( chat.openai.com ) 在那短时间内成为世界上最热门的数字资产之一,比微软的网站还要大 Bing 全球流量搜索引擎。它在 3 月份吸引了 16 亿人次访问,在 4 月上半月又吸引了 9.207 亿人次。
-
GitHub 网站也出现了强劲增长,3 月份 github.com 的访问量同比增长 26.4% 至 5.24 亿次。这并不反映 CoPilot 的所有使用情况,它通常发生在像 Visual Studio Code 这样的编辑器中,但它会包括访问该网站以订阅该服务的人。
-
从 2 月到 3 月,GitHub CoPilot 免费试用注册页面的访问量增加了两倍多,达到 800,000 次。
-
另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。
(1)Stack Overflow 和 GitHub 与 ChatGPT 的比较
如今,大多数网站都在与 ChatGPT 进行比较,从 Stack Overflow 和 GitHub 是为开发人员提供的专门服务的角度来看,这种比较并不公平。ChatGPT 除了对开发人员之外,还有更广阔的大众市场。
Stack Overflow、ChatGPT 和 GitHub 的流量,来源:Similarweb
(2)GitHub 在增长,而 Stack Overflow 在缩小
整体上看,Stack Overflow 和 GitHub 在规模上旗鼓相当,但态势截然不同:GitHub 的流量在增长,而 Stack Overflow 在缩小。而 GitHub 的增长的背后,与其对 OpenAI 技术的拥抱(以及微软更广泛的拥抱)不无关系。
Stack Overflow 正在缩小,GitHub 正在增长,来源:Similarweb
(3)CoPilot 注册人数增加了两倍
GitHub 提供许多免费服务,但 CoPilot 是其付费功能之一——而且非常受欢迎,以至于该服务的免费试用注册人数在 2 月至 3 月间翻了三倍。
GitHub CoPilot 的注册人数增加 来源:Similarweb
从复制粘贴到提示工程
多年来,Stack Overflow 一直是编程人员非常得力的资源,它催生无数个有关“会编码不如会Ctr+C、Ctr+V(复制、粘贴)代码片段”的笑话。虽然围绕 ChatGPT 代码生成的代码质量和知识产权问题继续存在,但从 Stack Overflow 上搜索和发布问题的习惯似乎被挑战了:新的懒惰
但高效的编码技巧产生了——提示 ChatGPT、CoPilot 或 Bing Chat 就能得到编写好的大块代码。
来源:Reddit
某种程度上说,Stack Overflow 成为了 AI 编程的牺牲品。背后的原因值得探讨。
首先,2021年,已经归属于微软的 GitHub 推出了 CoPilot 编码助手。CoPilot 建立在与 ChatGPT 相同的 OpenAI 大语言模型之上,能够处理人类语言和编程语言。
其次,光有Copilot的先进生产力,还不足以撼动StackOverflow,除非它被广泛推广开。而恰恰在此时,被广泛使用的 Microsoft Visual Studio Code 的插件,允许开发人员让 CoPilot 代表他们编写整个功能,而不是去 Stack Overflow 寻找要复制和粘贴的东西。CoPilot 现在整合了 OpenAI 平台的最新 GPT-4 版本。
ChatGPT偷家,StackOverflow进退两难
在引入 ChatGPT 后不久,开发人员发现它的一个有用之处是生成详细的代码示例和完整的功能——附带解释代码工作原理的教程内容——以响应简单的文本提示。相较之下,“ChatGPT 将‘杀死’Stack Overflow 的种种猜测不胫而走。
与此同时,Stack Overflow 宣布临时禁止在其网站上发布 ChatGPT 内容——这被认为违反了社区标准,因为根据该网站的管理,ChatGPT 对编码问题的回答往往是错误的。(更新:在博客文章中,Stack Overflow 首席执行官 Prashanth Chandrasekar 讨论了他的团队计划如何结合未来最好的社区和生成 AI 技术。)
Stack Overflow 的传统是社区成员针对任何给定的编码问题发布各种答案,讨论优势和权衡,并投票选出最佳解决方案。对于许多常见的编码问题,开发人员会找到一个公认的最佳答案。
另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。
各有利弊,胜负未分
ChatGPT 用户没有了那些吵来吵去、辩论的帖子,只是得到了答案,这看起来更快、更有效。返回的答案可能并不完全是开发人员所需要的,但通常足够接近,可以被塑造和调整为一个可行的解决方案。这与在 Stack Overflow 上找到其他人问题的答案,并根据您自己的要求进行调整的过程没有太大区别。
来源:Similarweb
CoPilot 一直是基于开源内容的代码生成的争议主题,不尊重相关的开源许可证(请参阅此维基百科摘要),这些问题也适用于 ChatGPT 提供的编码建议。此外,OpenAI 在编码技术方面积累的一些智慧很可能来自于对 Stack Overflow 和类似网站上内容的消化。
反击战刚刚开始
“当用户可以像其他人一样轻松地向聊天机器人寻求帮助时,StackOverflow在软件社区中扮演什么角色?业务如何适应,以便继续授权技术人员学习、分享和成长?”
Stack Overflow 掌舵者在一篇博客长文中意识到了这个严重的问题。
首先,既然 Stack Overflow 没有第一时间拥抱生成式AI编码工具,那就从生态层面宣示在编程领域的地位和话语权。大模型开发者、企业需要为爬取的数据付费!
据 Wired 报道,Stack Overflow 首席执行官 Prashanth Chandrasekar 表示,“Stack Overflow 计划最快在今年年中开始向开发大模型的开发者、公司收费,付费的群体才可以获得其服务中的 5000 万个问题和答案。”
在 Prashanth Chandrasekar 看来,AI大模型通过数据训练来学习,这其中就包括开源代码和 Stack Overflow 问答帖子。基于此,Stack Overflow 想要推出 Stack Overflow for Teams 服务,决定向使用其数据的公司寻求赔偿,这属于维持社区蓬勃发展战略的一部分,无可厚非。
其次,关注盈利,迎头直追AI赛道。近日,Prashanth发出了裁员信:出于对宏观经济的担忧并重新关注盈利能力的原因,该公司将裁员约 10%,至少影响 58 名员工。受裁员影响的员工包括 UX 设计师、人力资源专业人员、产品设计师和高级软件开发人员。
“这些变化也是我们认真审视本财年的战略重点以及我们的组织结构的结果,因为我们投资于 Stack Overflow for Teams 的持续增长;并计划在未来几个月推出以 AI/ML 为重点的产品,同时追求敏捷性和灵活性。”
写在最后
Stack Overflow 与 Copilot、ChatGPT 之间的较量,就像是生成式AI爆炸时代的一个缩影,Twitter、Reddit 等社区上演了类似的情景。只不过现在看,以大模型为代表的AI服务提供商似乎占了上风,而数据提供方似乎正处于被动防守的态势。
但这种态势也许并不会太过持久,生成式 AI 虽然让大众看到了未来,但留给我们要解决的问题似乎更多:大模型所需消耗的电力、数据燃料的安全与存储问题、生成内容存在的“幻觉”问题、被滥用导致的作弊行为等等,都是牵扯到社会各个层面的问题。
但在解决这些问题之前,拥抱生成式 AI,似乎成为了避无可避的选择。
相关文章:

裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!
流量一跌再跌,Stack Overflow 简直被狠狠地上了一课! 3 月份 Stack Overflow 的流量下降了近 14%。该公司的 CEO 压力空前,甚至昨天决定裁员 10%! 平均每月下降6%,上月直接跌了近14% 开发人员越来越多地从 AI 聊天机器…...

电脑记事本在哪里?电脑桌面显示记事本要怎么设置?
绝大多数上班族在使用电脑办公时,都需要随手记录一些琐碎或重要的事情,例如工作注意事项、常用的文案、某项工作的具体要求、多个平台的账号和密码等。于是就有不少小伙伴想要使用电脑记事本软件来记录,那么电脑记事本在哪里呢?想…...

微服务笔记---Nacos集群搭建
微服务笔记---Nacos集群搭建 Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 Nacos集群搭建 1.集群结构图 官方给出的Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理…...

python 小案例
要使用Django开发一个抽奖活动的后台,需要进行以下步骤: 安装Django:首先确保已经安装了Python和pip,然后使用pip安装Django库: pip install django 创建Django项目:在命令行中执行以下命令创建一个新的Dja…...

【SpringBoot】SpringBoot JPA 基础操作(CURD)
SpringData JPA 基本介绍 Spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,实现对数据库的访问和操作。 同时提供了很多除了CRUD之外的功能,如分页…...

大数据技术之Hive3
目录标题 5、DML 数据操作5.1 数据导入5.1.1 向表中装载数据load5.1.2 通过查询语句向表中插入数据insert5.1.3 查询语句中创建表并加载数据5.1.4 创建表时通过 Location 指定加载数据路径 5.2 数据导出5.2.1 insert导出5.2.2 Hadoop 命令导出到本地 5.3 清除表中数据(Truncate…...

Spring Boot实践二
一、模板引擎简介 在之前的示例中,我们通过RestController来处理请求: package com.example.demospringboot.web;import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping;Re…...

python:基于GeoPandas和GeoViews库将GEDI激光高程数据映射到交互式地图
作者:CSDN @ _养乐多_ 本文将介绍 GEDI(Global Ecosystem Dynamics Investigation)激光雷达数据某数据点波形数据提取,并绘制图表,添加其他图表元素并使图表具有交互性。 在本文中,我们将探索如何打开、读取和处理GEDI数据,并利用地理信息处理库GeoPandas和地理空间数…...

汇编实现strcpy
需要有两点注意: .type在windows的mingw上无法识别。windows下编译会找不到my_strcpy的定义(undefined reference),通过看mingw的代码发现,它会在汇编函数前加一个下划线,所以在我们的汇编代码中加上下划线…...

Appium+python自动化(二十四) - 元素等待(超详解)
思考 在自动化过程中,元素出现受网络环境,设备性能等多种因素影响。因此元素加载的时间可能不一致,从而会导致元素无法定位超时报错,但是实际上元素是正常加载了的,只是出现时间晚一点而已。那么如何解决这个问题呢&am…...

NFT市场泡沫破裂了吗?投资NFT是否仍然安全?
近期,NFT市场的价格出现了明显的下跌趋势,许多人开始担心NFT市场是否已经进入了泡沫破裂的阶段。但是,我们需要认真分析这个问题,并且探讨投资NFT是否仍然安全。 NFT(Non-Fungible Token)是一种非同质化代币…...

k8s使用helm部署Harbor镜像仓库并启用SSL
1、部署nfs存储工具 参照:https://zhaoll.blog.csdn.net/article/details/128155767 2、部署helm 有多种安装方式,根据自己的k8s版本选择合适的helm版本 参考:https://blog.csdn.net/qq_30614345/article/details/131669319 3、部署Harbo…...

B/B+树算法
B树 基本概述 B树又称多路平衡搜索树。一棵m阶B树,要么是空树,要么满足以下特性: 每个节点最多有m棵子树根节点至少有两棵子树内部节点(除根和叶子节点以外的节点)至少有⌈m/2⌉棵子树关键字个数比子树个数少1终端节…...

vue3.2 + elementPlus + Windi CSS + ts创建一个好用的可兼容不同宽高的login页面
1.效果预览 2. 代码准备 导入windiCSS: npm i -D vite-plugin-windicss windicss windiCSS官网: https://cn.windicss.org/integrations/vite.html 使用vite创建好你的vue工程 sass版本为: 1.49.9 3.Windi CSS在页面中使用 apply 二次定义类名…...

Integer包装类详解加部分源码
【1】Java.lang直接使用,无需导包: 【2】类的继承关系: 【3】实现接口: Serializable,Comparable<Integer> 【4】这个类被final修饰,那么这个类不能有子类,不能被继承: 【5】…...

如何给侧边栏添加 Badge 计数标记
一、需求功能 给侧边菜单栏或及子菜单栏添加计数标记 el-badge 效果如下: 二、实现思路 结合 icon 图标渲染的思路,通过在layout 的 item.vue 中使用 vnodes.push 方法实现对 <el-badge /> 的渲染。在通过 Vuex 的状态管理将菜单栏需要的数据转…...

插槽slot复习
1.认识插槽 ◼ 在开发中,我们会经常封装一个个可复用的组件: 前面我们会通过props传递给组件一些数据,让组件来进行展示; 但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div、span等等…...

【C++STL标准库】序列容器之deuqe与、orwa_list与list
基本概念这里就不再浪费时间去解释,这里给出deuqe与、orwa_list、list的基本使用方法: deque队列: #include <iostream> #include <deque>template <typename T> void print(T Begin, T End);int main() {std::deque<…...

RocketMQ教程-(5)-功能特性-消息发送重试和流控机制
本文为您介绍 Apache RocketMQ 的消息发送重试机制和消息流控机制。 背景信息 消息发送重试 Apache RocketM Q的消息发送重试机制主要为您解答如下问题: 部分节点异常是否影响消息发送? 请求重试是否会阻塞业务调用? 请求重试会带来什…...

OpenCV笔记
opencv读取视频操作 import cv2video cv2.VideoCapture("./1.mp4")if video.isOpened():# video.read() 一帧一帧地读取# open 得到的是一个布尔值,就是 True 或者 False# frame 得到当前这一帧的图像open, frame video.read() else:open Falsewhile …...

Mysql基础(下)之函数,约束,多表查询,事务
👂 回到夏天(我多想回到那个夏天) - 傲七爷/小田音乐社 - 单曲 - 网易云音乐 截图自 劈里啪啦 -- 黑马Mysql,仅学习使用 👇原地址 47. 基础-多表查询-表子查询_哔哩哔哩_bilibili 目录 🦂函数 dz…...

Android 屏幕适配各种宽高比的手机
由于android 手机的屏幕宽高比样式太多了,在设计UI时,很多时候,会因为宽高比,分辨率不同会有展示上的差异。 我是这样解决的 在activity的onCreate方法前,调用: fun screenFit(context: Context) {val me…...

云计算——云计算与虚拟化的关系
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.虚拟化 1.什么是虚拟化 2.虚拟化技术作用 二.云计算与虚拟化的关系 三.虚…...

手机变局2023:一场瞄准产品和技术的“思维革命”
以折叠屏冲高端,已成为中国手机厂商们的共识。 在这个苹果未涉足的领域,国产手机厂商们加快脚步迭代推新,积极抢占机遇。但平心而论,虽然国产折叠屏机型众多,但市场上始终缺乏一款突破性的产品作为标杆,为…...

【Linux】自动化构建工具-make/Makefile详解
前言 大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎!本章主要内容面向接触过Linux的老铁,主要内容含 欢迎订阅 YY 滴Linux专栏!更多干货持续更新!以下是传送门! 订阅专栏阅读:YY的《…...

1 js嵌入html使用
1.1 直接在html内部使用js代码 使用script标签,在前后标签内部写的代码即为js代码。 <body><p id"p1">初始段落</p> <!--id是为了定位需要更改内容的标签--><button type"button" onclick"showNum()">…...

总结RoctetMQ
RoctetMQ 定义优缺点场景使用方式消息顺序问题死信幂等性可视化面板 定义 优缺点 场景 使用方式 消息顺序问题 死信 幂等性 可视化面板...

命名约定~
1.变量的命名约定 JavaScript 变量名称是区分大小写的,大写和小写字母是不同的。比如: let DogName Scooby-Doo; let dogName Droopy; let DOGNAME Odie; console.log(DogName); // "Scooby-Doo" console.log(dogName); // "Dro…...

Python基础-列表(list)和元组(tuple)
Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象,本文讨论列表和元组。 1.列表可以修改,元组则不能修改。 2.几乎在所有的情况下,列表…...

Dubbo介绍及使用
🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...