• DocumentCode
    1380680
  • Title

    Does OO sync with how we think?

  • Author

    Hatton, Las

  • Author_Institution
    Oakwood Comput., New Malden, UK
  • Volume
    15
  • Issue
    3
  • fYear
    1998
  • Firstpage
    46
  • Lastpage
    54
  • Abstract
    Is object orientation an imperfect paradigm for reliable coding? Worse, does it focus on the wrong part of the life cycle? The author thinks so and explains why. Given that corrective-maintenance costs already dominate the software life cycle and look set to increase significantly, the author argues that reliability in the form of reducing such costs is the most important software improvement goal. Yet, the results are not promising when we review recent corrective-maintenance data for big systems in general and for OO systems, in this case written in C++. The author asserts that any paradigm that is capable of decomposing a system into large numbers of small components-as frequently occurs in both OO and conventional systems-is fundamentally wrong. Thus, because both paradigms suffer from this flaw, we should expect no particular benefits to accrue from an OO system over a non-OO system. Further, a detailed comparison of OO programming and the human thought processes involved in short and long term memory suggests that OO aligns with human thinking limitations indifferently at best. In the case studies described, OO is no more than a different paradigm, and emphatically not a better one, although it is not possible to apportion blame between the OO paradigm itself and its C++ implementation
  • Keywords
    human factors; object-oriented programming; software maintenance; software reliability; C++ implementation; OO paradigm; OO programming; OO system; corrective-maintenance costs; human thinking limitations; human thought processes; long term memory; object orientation; reliability; reliable coding; software improvement goal; software life cycle; Civil engineering; Costs; Education; Maintenance; Productivity; Reliability engineering; Silver; Software engineering; Software measurement; Switches;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/52.676735
  • Filename
    676735