[net.lang] Language Level

ed@zinfandel.UUCP (Ed Hirgelt) (01/05/85)

Since I haven't seen a mention of this yet in the `great high-level'
debate I will bring it up:

Reference:

Elements of Software Science, Maurice Halstead, Elsevier Computer
Science Library, 1977

This is a short work discussing measurable features of programs and
programming languages. In particular, Chapter 9 discusses language
level. I don't want to get into the details of the work (though it is
fascinating), I will mention that he empirically determined the level
of 6 languages:
	
	Language	level
	--------	-----
	English		2.16
	PL/I		1.53
	Algol 58	1.21
	Fortran		1.14
	Pilot		0.92
	Assembly	0.88

These are the means computed from a sample of programs in each
language. He provides a frequency distribution that shows that you can
write `high-level' or `low-level' in all the languages (except
low-level English). The average level in PL/I is far higher than in
assembly language (Compass in his examples).

I remember seeing other work published in Software Engineering Notes
(ACM SIG on Software Engineering). There was some work done at General
Motors also.

Halstead provides several concrete measures that can be computed for
any program. He shows the relationship between these measures,
justifies them intuitively and shows that the relationships hold
empirically.

Overall, interesting reading. I don't know if much has been done lately
(Halstead died several years ago) or if the ideas have fallen out of
favor.

--------------------------------

Ed Hirgelt
Zehntel Automation Systems
Walnut Creek, Ca 94598

ihnp4!zehntel!ed
decvax!sytek!zehntel!ed
-- 
--------------------------------

Ed Hirgelt
Zehntel Automation Systems
Walnut Creek, Ca 94598

ihnp4!zehntel!ed
decvax!sytek!zehntel!ed

macrakis@harvard.ARPA (Stavros Macrakis) (01/09/85)

> Elements of Software Science, Maurice Halstead, Elsevier, 1977
> ... discuss[es] measurable features of programs and programming languages
> ... Overall, interesting reading. I don't know if much has been done lately
> (Halstead died several years ago) or if the ideas have fallen out of favor.
> 	-- Ed Hirgelt ihnp4!zehntel!ed

The ideas have fallen out of favor.  See Lassez, et al., "A Critical
Examination of Software Science", Journal of Systems and Software v. 2,
p. 105, and its bibliography.  I recall a paper somewhere written by
Halstead's students also refuting much of software `science'.

Anyway, any theory with a name as presumptuous as `software science'
deserves to be wrong.  I understand Halstead was inspired by an analogy
to thermodynamics, operator:operand :: energy:entropy or some such.

Empirical study of the statistics of programs remains, however, an
important general direction.