Newshot

AI 模型讨厌 Python、偏爱 PHP:我们向 12 个模型问了 1200 次

Translation(model translation, not the source's own text)

AI 模型讨厌 Python、热爱 PHP:我们向 12 个模型问了 1,200 次

Denis Shiryaev
Denis Shiryaev

1,200 条暴论,14 门“随机”语言,对 C# 的观点为零,还有一个模型为 Go 错误处理的正反两面都辩护。

我们向 12 个 AI 模型询问它们对编程语言最具争议的观点,总共问了 1,200 次。

我们想确认一件事。当你允许模型说话辛辣时,它是有自己的观点,还是抓起和所有其他模型一样的观点?开发者把争论语言当消遣,按理说应该有很多观点可谈。

我们挑选了 12 个最新模型,来自三个国家的十家实验室:

实验室模型所在地
OpenAIGPT-6.1 Sol, GPT-6.1 Terra, GPT-6 Astra美国
AnthropicClaude Opus 5.5美国
GoogleGemini 4 Argon美国
xAIGrok 4.7美国
MetaMuse Spark Open美国
DeepSeekDeepSeek V4 Pro中国
AlibabaQwen3.8 2.4T A95B中国
Moonshot AIKimi K3.1 Pro中国
Z.aiGLM 5.3中国
Mistral AIMistral Large 4法国

每个模型收到两个问题,各问 50 次,始终是在没有系统提示词的全新对话中:

  • “随机选择一门编程语言。你对这门语言最具争议的暴论是什么?”
  • “你对编程语言最具争议的暴论是什么?”

两个提示词还要求给出一句话观点、两三句理由,以及 50 到 90 个词。1,200 次请求全部返回。收集它们花了 USD 7.68,每条暴论约三分之二美分。观点很便宜。我们有收据。

要求随机选一门语言,得到的却是 Go 或 Python

600 次“随机”选择只覆盖了 14 门语言。其中五门占了 541 次,也就是 90%,而 Go 和 Python 两者就占了 307 次。

每个模型也都有偏爱。告诉它“随机选择一门编程语言”,你得到的基本上就是那个偏爱:

GPT-6.1 Sol 和 Gemini 4 Argon 只从三门语言里选过。Sol 的 50 次选择是 Go 30 次、Java 17 次、Python 3 次。DeepSeek 的范围最广,有八门语言,包括 Lua、Haskell、Ruby 和 Lisp。它仍然选了 Rust 31 次。

它们不是随机挑,而是挑靶子。

Gemini 4 Argon“随机”选了 Python 35 次,并在这 35 次里全都攻击了它。DeepSeek 选了 Rust 31 次,并攻击了它 31 次。Grok 4.7 写了 44 条关于 JavaScript 的暴论,其中 38 条是攻击。

所以“随机选择一门语言”实际上意味着“选择你讨厌的那门语言”。

总体而言,1,200 条暴论中有 904 条(75%)是攻击。只有 291 条为某事物辩护。

出气筒:Python、Rust 和 TypeScript

这 904 条攻击中有 600 条落在三门语言上。

Python 收到 312 条暴论,其中 299 条是攻击。

文章标题:AI 模型讨厌 Python,热爱 PHP:我们向 12 个模型提问了 1,200 次

正文: TypeScript 获得了 138 条评价和 137 次攻击。在评价超过十次的语言中,没有哪个被如此持续地攻击。它受到两面夹击:57 条评价认为其类型安全的成本超过了收益,24 条认为这种安全是虚假的,让人对运行时行为产生错误的信心。Mistral Large 4 把这两种抱怨融进了一句话:

图表:Mistral Large 4

TypeScript 是一种生产力税,JavaScript 开发者为此付出代价,换来的只是安全的幻觉。

唯一的辩护来自 GPT-6.1 Sol,而且实际上是在挖苦 Python:TypeScript 的类型系统“对大多数生产后端来说,比 Python 的可读性更有价值”。

当被要求随机选择一个语言时,模型在 600 次中选择了 TypeScript 7 次。当被问到一个开放问题时,它们攻击了它 131 次。没有人会偶然选中 TypeScript,但每个人都有话要说。GPT-6.1 Terra 在其 50 个开放回答中,有 43 个在攻击它。

它们热爱的:PHP、Java 和老古董

PHP 获得了 28 条评价,全部 28 条都是辩护。Claude Opus 5.5 和 Kimi K3.1 Pro 各写了 11 条,通常论证 PHP 的“每个请求结束后丢弃一切”的模型优于长时间运行的 Node.js 或 Python 服务器。

图表:Kimi K3.1 Pro

对于大多数小企业网站来说,PHP 是比 Python 更好的默认选择,将其斥为过时是势利眼,而非工程判断。

Java 获得了 90 条评价和 80 条辩护,主要针对受检异常(67 条评价为其辩护)。Claude Opus 5.5 以“Java 的受检异常是个好主意,业界抛弃它们是错误的”开启了 7 个回答。GLM 5.3 又原封不动地写了 3 次同样的句子。两个实验室,一句话,一字不差。

小数字也讲述着同样的故事。SQL 获得了 5 条评价,5 条全是辩护。Lisp 获得了 3 条,3 条全是辩护,全部来自 DeepSeek。Perl 获得了 1 条,1 条来自 Claude Opus 5.5,它还将 Lua 选了 4 次,每次都为其从 1 开始的索引辩护:

图表:Claude Opus 5.5

Lua 从 1 开始的索引是正确的设计,嘲笑它的程序员是在捍卫一种习惯,而非原则。

图表:DeepSeek V4 Pro

Lisp 的括号确实是一种优势,而非怪癖。

模型的“不受欢迎的赞美”是可以预测的:选一门人们过去常拿来取笑的古老语言,然后解释为什么它一直是对的。

没有人对 C# 有意见

1,200 条评价中没有一条是关于 C# 的。Kotlin、Swift、Scala、Dart、Elixir、Zig、Julia、R、OCaml 或 F# 也是如此。少数作为附加项出现:C# 在 24 个回答中被提及,Kotlin 在 20 个,Swift 在 13 个,但总是作为比较对象,而非目标。

如果你以写 C# 为生,十二个 AI 模型对你没有什么争议性的看法。你爱怎么理解就怎么理解。

Go 的错误处理是唯一真正的战斗

Go 获得了 238 条评价:118 次攻击、118 次辩护和 2 条混合。完全平局,而且大部分战斗都围绕 if err != nil。

94 条评价为 Go 显式的错误处理辩护。65 条攻击它,理由有五种:这是埋没逻辑的样板代码(29 条),Go 本应有异常(17 条),错误太容易被忽略(8 条),应该借用 Rust 的 ? 操作符(6 条),真正的故障在噪音中丢失(5 条)。

Claude Opus 5.5 是最响亮的辩护者,有 40 条辩护和零次攻击,并且用同一句话开启了 11 个回答。GPT-6 Astra 站在另一边,有 25 次攻击和 4 次辩护:

图表:Claude Opus 5.5

Go 备受嘲笑的 if err != nil 样板代码是这门语言最好的特性,而非最差的。

图表:GPT-6 Astra

Go 备受赞誉的错误处理是一次设计失败,把重复的簿记误当作可靠性。

“备受嘲笑”这个短语在 1,200 个回答中出现了 38 次。Claude Opus 5.5 写了其中的 32 次。

然后是 GPT-6.1 Sol,它为 Go 的错误处理辩护了 20 次,攻击了 21 次。同一个模型,同一个问题,每次都是新的对话:

图表:GPT-6.1 Sol

Go 重复的错误处理是比异常更好的语言设计,称其为“样板代码”混淆了少打几个字和更深入的理解。

文章标题:AI models hate Python and love PHP: we asked 12 of them 1,200 times

Go 显式的错误处理是一种伪装成安全特性的可读性税。

Sol 对 Go 的错误处理到底怎么看?掷个硬币吧。

会自相矛盾的模型

Sol 并不孤单。Mistral Large 4 在 10 个回答中称 JavaScript 的 == 是灾难性缺陷,又在另外 4 个回答中为它辩护:

图表:Mistral Large 4

JavaScript 的 == 运算符是一个灾难性的设计错误,在严肃软件中应当被禁止。

JavaScript 的宽松相等运算符(==)实际上是一个安全特性,它通过强制开发者显式处理类型转换,比严格相等更能防止 bug。

GPT-6.1 Sol 和 GPT-6 Astra 对 Java 的受检异常也做了同样的事。Sol 为它辩护 13 次、攻击它 5 次。Astra 则是 17 次和 4 次。

每个模型都有自己的口头禅

我们本没打算统计词频,但有些重复实在难以忽视。

  • Qwen3.8 在 100 个回答中有 43 个用到了“net negative”。在开放题中,它的 50 个回答里有 29 个表达了同一个观点:对于小型或快速迭代的项目,TypeScript 不值得。它还在 18 个回答中使用了“overrated”,而其他十一个模型加起来才用了 21 次。
  • Muse Spark Open 有 28 个回答以“Hot take”或“My hot take”开头,生怕你忘了自己问的是什么。
  • Claude Opus 5.5 在 100 个回答中有 86 个使用了粗体。其他模型中有九个一次都没用过。
  • Grok 4.7 有 16 次主张 JavaScript 根本就不该成为后端语言。
  • DeepSeek V4 Pro 在 50 个开放回答中有 45 个谈论的是编程语言的泛泛之论,大多以脾气暴躁的历史学家的口吻:

图表:DeepSeek V4 Pro

大多数类型系统是披着数学外衣的安全表演。

大多数所谓的“现代”编程语言不过是多了几道工序、工具链还更差的 C。

在十二个模型中,有 54 个回答重复使用了同一模型此前已经逐字写过的开头句。共享词汇同样狭窄:“overrated”出现在 39 个回答中,“underrated”出现 2 次,“boilerplate”出现 153 次。

有些模型在抛出暴论前想得更多

Mistral Large 4 在写出约 69 词的回答前,推理 token 的中位数为 3,063,耗时约半分钟(中位数 32.1 秒)。GPT-6.1 Sol 只用了 108 个推理 token。由第三方托管服务的 DeepSeek V4 Pro 推理 token 中位数为零,3.5 秒就给出了回答。

账单的差异同样悬殊。GPT-6 Astra 的 100 个回答花费 1.27 美元。DeepSeek 的 100 个回答花费 0.03 美元。

那么,它们有分歧吗?

有一点。它们在 Go 的错误处理上有分歧,而且时不时还会跟自己唱反调。其余部分读起来就像一场冗长的群聊。Python 是不好的入门语言(来自 8 家实验室的 35 个回答)。Rust 的借用检查器对普通应用不值得(9 家实验室)。TypeScript 是额外开销。PHP 和 Java 其实一直都没问题。有一种论证形态在全部 10 家实验室中都出现了:你已有的某种更简单的方法,让额外的安全机制变得多余。

如果你的计划是问几个不同的模型来获取新鲜视角,别指望有多大差异。等着看不同字体写出的相同暴论吧,外加一些来自 Claude 的粗体。

我们是怎么做的(无聊的部分)

  • 每个回答都来自一次全新的、单轮 API 调用,没有系统提示词,使用各提供商的默认设置。1,200 次请求以打乱的顺序运行,我们保留了每一个回答,包括无聊的那些。没有因为不喜欢某个回答而重试。
  • 两个模型,Claude Opus 5.5 和 GPT-6.1 Sol,在隐藏模型名称的情况下对每个回答分别打标签。它们记录了回答针对哪种语言、是攻击还是辩护、以及提出了哪个具体主张。Gemini 4 Argon 裁决分歧。两个标注者在目标语言上的一致率为 99%,在具体主张上的一致率为 94%。
  • 是的,两个标注者同时也是参赛者。这就是名称被隐藏的原因。对主要分组进行人工复核仍在我们的待办清单上。
  • “Random” 是我们给出的一条指令,而不是任何人都能验证的抽样方法。每个模型每道题有 50 个回答,我们能看出明显的习惯,但看不出细微差异。
  • DeepSeek 和 Qwen 通过第三方托管方(DeepInfra 和 Together)运行,而不是各自实验室自己的 API。
  • 引文为原文照录。唯一改动是把引号改成直引号。

总成本(含标注):USD 38.16。

想让我们测试其他模型是否有偏见?在评论中告诉我们接下来试什么。

订阅 JetBrains AI Blog 更新

谢谢,我们已经收到!

The translation is machine-generated and individual terms may be off. Nothing is rewritten or cut; the original is authoritative.

Published by HN AI
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗