Array languages like J and concise dynamic languages like Python, Ruby, and Clojure use the least tokens for AI-assisted development. [1, 2, 3]
- J (Array Language): Dominates benchmarks at around 70 tokens per task. It achieves extreme conciseness like APL but uses standard ASCII characters instead of rare mathematical glyphs, which keeps tokenizer overhead low.
- Clojure & Ruby: Average around 109 to 119 tokens per task. Dynamic and functional paradigms skip the verbose boilerplate and explicit type declarations required by languages like Java or C.
- Python: Averages around 128 tokens per task. It offers a strong balance of high semantic density, minimal syntax, and widespread LLM training data familiarity.
- Haskell: The most token-efficient statically typed language (~130 tokens), benefiting from advanced type inference that reduces redundant code. [1, 2, 3, 4, 5]