Lecture overview -- Keyboard shortcut: 'u'  Previous page: A structured program: Hangman -- Keyboard shortcut: 'p'  Next page: Towards Object-oriented Programming -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Help page about these notes  Alphabetic index  Course home  Page 4 : 22
Object-oriented Programming in C#
Introduction to Object-oriented Programming
Observations about Structured Programming

Structured programming is a good and recommendable way to program

Despite of that we will identify a number of problematic aspects that motivate OOP

Structured programming is not bad at all.

Structured programming is not necessarily ideal for large programs. Object-oriented programming is strong with respect to structuring of large program. In addition, object-oriented programming is based on conceptual reasoning, and strong metaphors.

  • Structured programming is narrowly oriented towards solving one particular problem

    • It would be nice if our programming efforts could be oriented more broadly

  • Structured programming is carried out by gradual decomposition of the functionality

    • The structures formed by functionality/actions/control are not the most stable parts of a program

    • Focusing on data structures instead of control structure is an alternative approach

  • Real systems have no single top - Real systems may have multiple tops [Bertrand Meyer]

    • It may therefore be natural to consider alternatives to the top-down approach