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.