编译商(CQ):一种衡量编程语言编译难度的指标
编程语言
2025-09-10 v1 软件工程
摘要
当今的程序员可以从种类繁多的编程语言中进行选择,每种语言都有其自身的特点、目的和复杂性。语言复杂性的一个关键方面是编译该语言程序的难度。尽管大多数程序员对不同编程语言的编译难度有直观感受,但尚无量化指标。我们引入了编译商(CQ),一种量化编译型编程语言编译难度的指标。关键思想是测量从上下文无关文法中采样的程序的编译成功率。为此,我们公平地采样了总计超过1200万个程序。CQ的取值范围为0到100,其中0表示没有程序能编译通过,100表示所有程序都能编译通过。我们对12种流行的编译型编程语言的研究结果显示CQ差异很大。C语言的CQ为48.11,C++为0.60,Java为0.27,Haskell为0.13。引人注目的是,Rust的CQ几乎为0,而对于C语言,即使是很大比例的大规模程序也能编译通过。我们相信CQ有助于更好地理解编译型编程语言的差异,并帮助语言设计者。
引用
@article{arxiv.2406.04778,
title = {Compilation Quotient (CQ): A Metric for the Compilation Hardness of Programming Languages},
author = {Violet Szabo and Dominik Winterer and Zhendong Su},
journal= {arXiv preprint arXiv:2406.04778},
year = {2025}
}