Comparing programming paradigms: an evaluation of functional and object-oriented programs

Abstract
A quantitative evaluation of the functional and object-oriented paradigms is presented. The aim of the project is to investigate whether the quality of code produced using a functional language is significantly different from that produced using an object-oriented language. Twelve sets of algorithms are developed, together with a number of utility functions, in both SML and C++. Strict constraints are imposed during the development cycle to improve the reliability of the results. The statistical tests do not reveal any significant differences for direct measures of the development metrics used which are associated with quality, such as the number of known errors, the number of modification requests, a subjective complexity assessment etc. However, significant differences are found for an indirect measure, the number of known errors per thousand non-comment source lines, and for various code metrics, including the number of distinct functions called, the number of distinct library functions called, and the ratio of these, which is a measure of code reuse. A difference is also found for the time taken to test the programs, due to different compilation techniques and a difference in the number of test cases executed

This publication has 1 reference indexed in Scilit: