Changing Programming ParadigmAn Empirical Investigation

This paper outlines an investigation into the ability of experienced programmers to effectively change programming paradigm. In particular it investigates programmers changing from imperative to object-oriented programming. This is achieved by comparing code samples from the new and experienced object-oriented programmers. Each sample is presented to a tool which makes a number of automatic measurements. The comparison has revealed large style differences between the two sets of programmers. The two groups having very different ideas on what constitutes an object, resulting in significant variations in the concepts of the responsibility or extent of a class, and inheritance and associated operations. These differences will typically result in major variations in the quality and reusability of the software produced.