We make the following observations about structured programming:
- 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
I'm personally favoriting (and using) the object oriented style for many tasks both at the university and at work. I like the ideas of abstraction, specialization etc. Of course i could get much more in to the different points above (this is from our first lecture, which was several months ago), but its your reportWe are now turning our interests towards 'the object-oriented way'. Below we list some of the most important ideas that we must care about when we make the transition from structured programming to object-oriented programming. This discussion is, in several ways, continued in Chapter 2.
- The gap between the problem and the level of the machine:
- --- Fill the gap bottom up
-Use the data as the basic building blocks
- --- Data, and relations between data, are more stable than the actions on data
- Bundle data with their natural operations
- --- Build on the ideas of abstract datatypes
- --- Consolidate the programming constructs that encapsulate data (structs/records)
- Concentrate on the concepts and phenomena which should be handled by the program
- --- Make use of existing theories of phenomena and concepts
- --- Form new concepts from existing concepts
- Make use of a programming style that allows us to collapse the programming of objects
But ask if you get stuck and need to get explained a specifc topic, though i might not be able to check here a lot tonight (got a deadline tomorrow on some parts of our report. Designing class diagrams, actually
We're using C#. I'm not that fond of java, the whole idea of making all functions virtual by nature is not something i favour. C# is IMHO one of the only really well-designed object oriented languages (of course, C++ and Java is important steps in the history of OOP. But no doubt C# is a fantastic language to work with). And the .net framework is great to have in the back.
This doesn't mean i'm against structured programming. It has its good sides, too. And purebasic is a good choice for that (sometimes structured programming is just what you need). Structured and object oriented programming languages aren't competitors, though people often seem to make them that.





