Post a Comment
The only people I can see this useful for is people who pretty much taught themselves C++ on the fly from examples. Any C++ programmer knows how to use polymorphism and inheritance. Even the lamest "teach yourself C++" book will go over inheritance. It's sort of a key idea in C++. Every body uses polymorphism but perhaps the "I taught myself C++" folks may just not know that it's called polymorphism.
Tis a sad sad day for programmers when already established software developers need to be told these things.
Whilst polymorphism and inheritence (as well as encapsulation, cohesion etc) can lead to slightly shorter development times in a small team, it can lead to big headaches down the road. Poor documentation and lack of overall design are the two things the OO mantra still doesn't automatically handle. Without good foundations, the project will crumble no less quickly than a bad building in an earthquake.
Whilst polymorphism and inheritence (as well as encapsulation, cohesion etc) can lead to slightly shorter development times in a small team, it can lead to big headaches down the road. Poor documentation and lack of overall design are the two things the OO mantra still doesn't automatically handle. Without good foundations, the project will crumble no less quickly than a bad building in an earthquake.
This doesn't really have anything to do with OO per se. Poor documentation and lack of design will cripple any project. OO will give you the tools for good design. It can't do the good design for you.
Now if you have good OO design, it will bring productivity in spades.
Edited 2006-04-10 16:31
Just like procedural programming can lead to 1000-line functions making your code unmaintainable, overzealous OO-ers tend to cripple the project by making dozens of classes which are essentially the same, "just in case".
IMHO this is even worse than the 1000-line function, because there at least you can lock yourself in your office and read it, whereas the 10-levels-of-inheritance-all-adding-nothing will make you lose the overview very quickly.



