Although object-oriented programming techniques have evolved into an accepted technology with recognized benefits for software development, profound investigations of qualitative and quantitative aspects about its pros and cons are missing. This paper tries to answer crucial questions based on the experience gained by the authors and their partners in several projects where object-oriented technology was applied. These projects cover different areas like prototyping tools, information systems, real-time process control components, and development environments for object-oriented programming languages. A case study comparing the object-oriented (C++) and module-oriented (Modula-2) implementation of a user interface prototyping tool concludes this paper. Keywords. Design patterns, object-oriented design, object-oriented software development, application frameworks, class libraries, reusability