This is a post about my new article on my web site called "What is Software Design". It took me quite too long to write, especially considering this was about "obvious things" to me. Actually, over the years I realized how much a lot of programmers simply "brute force" their way out of difficult programming challenges rather than considering its design. The result is that what is produced is a huge pile of mess, and they find it quite normal that most software becomes bloated and horrible over time.
Now, I have to admit myself that being good at software design require a different set of qualities than what is normally expected out of a programmer. Consideration has to be given to future maintainability and training, meaning if the code is easy to understand. Finding the right design patterns to apply to a given situation can be quite difficult. Designing a programming language well to abstract a complex conceptual domain is even more difficult.
So, now I have something I can point people to that summarize why having good code design is important. I'm not sure it's easy to read enough, but hopefully it makes its point clearly.
Published on June 3, 2012 at 19:37 EDT
Older post: The Reading Indiscipline
Newer post: Windows 8's Gesture Mnemonics Mess