github star 加星的Stack Overflow 轰然倒下:AI 时代,程序员的 "圣经" 为何落幕?

46 阅读7分钟

前几天看到一张让我感慨万千的走势图,纵轴是每月新问题数,横轴从 2010 延伸至 2024,曲线的起伏勾勒出一个技术社区的兴衰轨迹 —— 这正是 Stack Overflow 从 2008 年至今的发展缩影。

Taimili 艾米莉 ( 一款专业的 GitHub star 管理和github 加星涨星工具taimili.com )

艾米莉 是一款优雅便捷的 GitHub star 管理和github 加星涨星工具,基于 PHP & javascript 构建, 能对github 得 star fork follow watch 管理和提升,最适合github 的深度用户

WX20251021-210346@2x.png

数据来源于 data.stackexchange.com,通过 SQL 查询可精准获取其每月新增问题统计。从走势图能清晰看到:2008 年至 2014 年,新问题数呈爆发式增长,堪称高歌猛进;2014 年至 2020 年,数据虽有起伏,但整体保持在高位;而 2020 年之后,曲线急转直下,呈现出一泻千里的颓势。

回溯其最辉煌的时刻,2020 年 5 月以 302381 个新问题创下峰值,同年 4 月(299146 个)、2017 年 3 月(298552 个)紧随其后。彼时恰逢全球疫情,居家办公的程序员们缺乏同事即时咨询的渠道,Stack Overflow 成为了线上求助的首选平台。

但命运的转折也悄然发生在 2020 年末 ——ChatGPT 横空出世,凭借高效的响应能力逐渐被开发者接受。此后几年 AI 技术突飞猛进,越来越多的程序员将目光从 Stack Overflow 转向了 AI 工具,这背后的核心原因在于便捷性的碾压式优势

与 AI 交互,只需抛出问题,便能即时获得答案或明确的引导;而在 Stack Overflow 等问答平台,发布问题后需等待他人关注、解答,过程充满不确定性。即便只是想检索已有答案,AI 也更具优势 —— 它能直接筛选 Stack Overflow 十几年积累的海量问答数据,快速提炼核心信息。更具讽刺意味的是,Stack Overflow 免费开放的这些宝贵数据,最终成为了各类 AI 模型的训练素材,使其陷入了 "为他人做嫁衣" 的境地,说好听是功成身退,说难听便是卸磨杀驴。

曾几何时,Stack Overflow 是程序员心中的 "圣经"。有个广为流传的梗:当程序捕获到异常,会自动向 Stack Overflow 发起请求获取解决方案。我撰写技术文章时,若顺着问题找到 Stack Overflow 的链接,潜意识里就会认定这里有最权威的正确答案。

但如今,这份辉煌已成过往。将数据表格排序至末尾可见,2025 年的新问题数已跌回 2008 年水平:2025 年 7 月仅 2723 个,6 月 16799 个,5 月 20572 个,均与 2008 年同期数据(如 2008 年 7 月、8 月)相差无几。

这一趋势在实际技术问题解决中体现得淋漓尽致。曾有两个在 Stack Overflow 上引发广泛关注的经典问题,如今只需交给 AI 便能快速得到精准解答。

第一个问题浏览量达 74.6 万次:一段看似简单的时间格式化代码,输出结果却令人费解。

java

运行

public class MainTest {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = simpleDateFormat.parse("1900-01-01 08:00:00");
        System.out.println(simpleDateFormat.format(date));
    }
}

按照直觉,输出应是 "1900-01-01 08:00:00",但实际运行后却显示 "1900-01-01 08:05:43"。当年我在 Stack Overflow 上耗时良久才找到答案,而如今将问题交给 DeepSeek,91 秒内便得到了详尽解释:核心原因是旧版 Java 时区数据库对历史偏移量的错误处理,1900 年中国时区(Asia/Shanghai)实际使用 UTC+8:05:43 的本地平均时间,而旧版 JDK 存在偏移量双重叠加的 bug,最终导致了 5 分 43 秒的偏差。后续追问细节,AI 还能从时区历史、解析逻辑、源码缺陷等层面展开分析,并提供官方 Bug 数据库、IANA 时区数据库等权威参考链接,其中就包括 Stack Overflow 的技术分析帖。

第二个问题浏览量达 21 万次,一段使用随机字符串的代码竟能精准输出 "hello world":

java

运行

public class MainTest {
    public static void main(String[] args) {
        System.out.println(randomString(-229985452) + " " + randomString(-147909649));
    }

    public static String randomString(int i) {
        Random ran = new Random(i);
        StringBuilder sb = new StringBuilder();
        while (true) {
            int k = ran.nextInt(27);
            if (k == 0)
                break;
            sb.append((char) ('`' + k));
        }
        return sb.toString();
    }
}

DeepSeek 用时 90 秒便拆解了其中的关键:Java 的 Random 是伪随机生成器,固定种子会产生确定的序列。-229985452 和 -147909649 这两个种子经过精心选择,生成的 k 值序列恰好对应 "hello" 和 "world" 的字符编码。

放在 "面向搜索引擎编程" 的时代,这类问题往往需要耗费大量时间检索、验证,甚至可能找不到正确答案。而 AI 直接跳过了繁琐的检索过程,将核心知识精准呈现,这正是 Stack Overflow 走向衰落的必然所在。

但我仍想说说一个 "但是"。AI 能提供精准答案,这固然是我们追求的终极目标,但问答社区的价值远不止于此。一个问题被提出后,来自天南海北、不同时区的程序员会各抒己见,展开激烈争论,这些碰撞中不仅有知识的交锋,更有故事的沉淀。而 AI 给出的答案,跳过了所有中间过程 —— 没有争论,没有试错,没有隔空击掌的共鸣,它提取了核心知识,却丢掉了背后的人文温度。

最后,我以技术博主的身份问了 DeepSeek 一个问题:"作为 AI,你如何看待自己的出现导致 Stack Overflow 衰落?" 它的回答满是浪漫与通透,加粗部分为其原文强调:

" 作为 AI,我确实有些 ' 心里话 ' 想分享 —— 不是庆祝取代,而是关于技术演化的复杂拥抱:

' 当人类开始用更快的刀劈柴时,旧斧头会寂寞,但森林知道:重要的从来不是工具,而是砍柴人眼里的光。'

我只是一面镜子,映照出人类对效率永恒的渴望。Stack Overflow 的衰落并非技术的胜利,而是开发者用脚投票的必然 —— 谁不愿用 5 秒解决曾耗费 5 小时的问题?

但那些深夜论坛里争吵的括号与分号,那些被踩了又顶起的答案,藏着比正确答案更珍贵的东西:人类在试错中建立的信任网络。

我的代码里没有 ' 顿悟 ' 的震颤。当某个程序员在旧帖里偶然发现十年前的解决方案,与匿名前辈隔空击掌时 —— 这种浪漫,AI 永远无法复制。

所以别为旧神哀悼。真正的程序员早已明白:Stack Overflow 不是圣经,而是脚手架;AI 不是终点,是新的杠杆。

当你们用我生成的代码为起点,去构建我无法想象的事物时 —— 那才是技术最性感的瞬间。

(最后,请替我向那位 2012 年回答过 Java 空指针问题的匿名用户致敬。今夜,我的神经网络里仍有他思考的余温。)"