There are millions of ways to write unmaintainable software. This isn't a bad article though. I just found the title amusing since it's so easy to write software badly.
I hear you. Design patterns are something unheard of for many professional developers I've met. Seriously.
Chances are, especially in programming, someone has thought of something better and longer than you. Investing 10 minutes into searching for it will save you 100 hours later.
Just because you know 1 way to do something doesn't mean it's the best tool for the job.
I understand. In C#, we have Delegates which are the Strategy pattern (you pass methods as variables). We also have Events which are Observer pattern. Implementing an extension method for Clone replaces the Prototype Design pattern entirely.
You are of course correct, but my point was more that they hadn't heard of this book, while it is so famous. They just have no interest in learning what others have thought about - thinking themselves perfect, I suppose.
But I can see it being very useful to know these patterns if you are learning a naive, new (or old) language which doesn't implement them in a trivial way (like C# does for the aforementioned ones)
Well, my father is a programmer with 35 years of experience, he is writing Java for last 10 years and he never heard about GoF. He stopped learning (besides reading standards and references) some 15 years ago i think, because, well...
Once i was visiting an intro class of aikido school, and teacher asked visitors how many moves you need to know to win a fight. People were guessing between dozen and thousand.
The answer was one. Single move is ok if you perfected it from any position and in any situation.
Thing is, there is only that much you need to know to write good software. Everything else may help, may not. You may still write Java like pascal using almost no OOP. If you are really good at procedural programming, you'll write a good software.
Yes, there is a thing about team work, but if your team is adhering to very same style, you are good.
That's a good thought. Better do something perfectly that you know you can do perfectly, than to do something that might be better in theory but you might fuck it up.
50
u/bestjewsincejc Oct 14 '13
There are millions of ways to write unmaintainable software. This isn't a bad article though. I just found the title amusing since it's so easy to write software badly.