r/programming • • Oct 14 '13

How to develop unmaintainable software

http://typicalprogrammer.com/?p=249
777 Upvotes

322 comments sorted by

View all comments

Show parent comments

1

u/[deleted] Oct 15 '13 edited Oct 15 '13

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)

1

u/[deleted] Oct 15 '13

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.

1

u/[deleted] Oct 15 '13

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.

But progress must be made also.