> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 哪些编程语言的Token效率最高？
- URL: https://www.hubwiz.com/blog/which-programming-languages-are-most-token-efficient/
- Published: 2026-09-14T15:13:02.000Z
- Updated: 2026-10-13T16:06:29.000Z
- Description: 对于软件开发智能体来说，编程语言的"token效率"可能产生重大影响，我想知道这是否会成为未来语言选择的一个因素。
- Author: admin
- Tags: AGENT, #Import 2026-10-14 14:41

我一直在思考，如果人类越来越多地不再编写代码，编程语言和工具会发生什么变化。我最近写了一篇关于[代码移植](https://martinalderson.com/posts/ported-photoshop-1-to-csharp-in-30-minutes/?ref=hubwiz.com)的文章，这让我更多地思考LLM与人类相比有哪些限制。

LLM最大的限制之一是上下文长度。这是一个难以解决的问题，因为在当前的Transformer架构中，内存使用量会随着上下文窗口的变长而显著增加。而且考虑到当前的内存短缺，我认为世界目前并没有被内存淹没。

因此，对于软件开发智能体来说，编程语言的"token效率"可能产生重大影响，我想知道这是否会成为未来语言选择的一个因素。考虑到编码智能体上下文窗口的很大一部分将是代码，更高效的token语言应该允许更长的会话，并需要更少的资源来交付。

我们已经见过[TOON](https://toonformat.dev/?ref=hubwiz.com)（一种更高效的JSON编码），但编程语言呢？

## 1、方法论

我在做相关研究时发现了[RosettaCode](https://rosettacode.org/wiki/Rosetta%5FCode?ref=hubwiz.com)项目。它自称是一个编程语言范例网站（顺便说一句，我很喜欢这个定位）。它有超过一千个编程"任务"，人们用各种语言实现。它拥有近1,000种不同编程语言的贡献。

我找到了该数据集的[GitHub镜像](https://github.com/acmeism/RosettaCodeData?ref=hubwiz.com)，所以请Claude Code使用Hugging Face的Xenova/gpt-4分词器（这是OpenAI GPT4分词器的社区移植版）进行比较。

然后我让Claude Code建议一组最受欢迎的编程语言，这大致符合我的经验，然后找到在*所有*19种语言中都有解决方案的任务，然后将它们通过分词器处理。我没有包含TypeScript，因为Rosetta Code数据集中TypeScript的任务很少。

> 这个数据集和方法存在很多潜在的限制和偏差！这只是对一些编程任务中类似解决方案的有趣观察，而不是科学研究。

## 2、结果

![编程语言Token效率比较](https://www.hubwiz.com/blog/content/images/2026/09/token-efficiency-chart-1.png)

> **更新：**

> **更新2：**

C（我比较的最低效语言）和Clojure（最高效语言）之间存在2.6倍的显著差距。

不出所料，动态语言的token效率高得多（不声明*任何*类型可以节省大量token） - 不过JavaScript是分析的动态语言中最冗长的。

让我惊讶的是，像Haskell和F#这样的函数式语言的token效率有多高 - 几乎不比最高效的动态语言低。这无疑要归功于它们非常高效的类型推断系统。我认为为LLM使用类型化语言有很多好处 - 不仅因为它可以编译并快速获得任何语法错误或方法幻觉的反馈。有了LSP，它变得更加有用。

假设你80%的上下文窗口是代码读取、编辑和差异，使用Haskell或F#可能会比使用Go或C#产生显著更长的开发会话。

让我非常感兴趣的是，我们正处于这个奇怪的未来，我们拥有千万亿次计算能力，但"小"上下文窗口的代码冗长性实际上可能很重要。LLM继续打破我对软件工程应该如何看待的心智模型。

---

1. OpenAI有一个简单的分词器，你可以[在这里](https://platform.openai.com/tokenizer?ref=hubwiz.com)试用。很多人写过分词器的工作原理 - 如果你想了解更多，[这里](https://christophergs.com/blog/understanding-llm-tokenization?ref=hubwiz.com)有一个很好的介绍。关键是他完全不按字节映射字符使用。常用单词和短语可以是1个token整个单词，但某些符号和序列可以是每个字符一个token。[↩︎](#fnref1)

---

原文链接: [Which programming languages are most token-efficient?](https://martinalderson.com/posts/which-programming-languages-are-most-token-efficient/?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处

> **这是「AI 编程 / Vibe Coding」专题的一部分。**完整地图见：[AI 编程 / Vibe Coding 完全指南](https://www.hubwiz.com/blog/vibe-coding-stack/)