Chapter 4. Evolution in Code: Stage 1

One of the negative aspects of learning to do something in a more effective way is that it sometimes implies that something has been wrong with your approach up to now. This is particularly true when I, as a teacher, am asked to evangelize object-oriented techniques, test-driven development, and design patterns to people who are already experts at creating software in other ways.

Cobol and RPG programmers, for instance, will often arrive at my course thinking “I can do everything I need to do with what I already know. Why do I need to learn all this new stuff? Are you suggesting that my 20 years of experience are worthless now?”

I fully understand their point of view. When I first encountered a truly object-oriented ...

Get Emergent Design: The Evolutionary Nature of Professional Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.