Simple metrics for programming languages

作者:

Highlights:

摘要

Several metrics for guiding the design and evaluation of programming languages are introduced. The objective is to formalize notions such as “size”, “complexity”, “orthogonality”, and “simplicity”. Three different kinds of metrics are described: syntactic, semantic, and transformational.Syntactic metrics are based on the size of a context-free grammar for a language or a part of a language. They can be used to judge the size of a language and the relative sizes of its parts. These techniques are demonstrated by their application to Pascal, Algol-60, and Ada.Syntactic metrics make no reference to the meaning of a language's constructs. For this purpose we have developed several semantic metrics that measure the inter-dependencies among the basic semantic ideas in a language. This technique has been applied to the control, data, and name structures of FORTRAN, BASIC, Lisp, Algol-60, and Pascal.Finally, we suggest that a useful measure of a programming language is the complexity of the relationship between its syntactic and semantic structures. For this purpose we introduce a transformational metric and demonstrate its use on subsystems of several languages.The paper concludes by discussing the general principles underlying all of these metrics and by discussing the proper method of validating metrics such as these.

论文关键词:

论文评审过程:Available online 12 July 2002.

论文官网地址:https://doi.org/10.1016/0306-4573(84)90051-7