5 ms·
Bizarre. The article doesn't explain much about why the author hates design patterns. The best I could come up with is in this passage: Perhaps I’m being unfai
by apo 9y ago
Bizarre. The article doesn't explain much about why the author hates design patterns. The best I could come up with is in this passage:
Perhaps I’m being unfair to Design Patterns, but those articles [about design patterns] seem like the worst kind of tech writing, the most likely to inspire useless discussion that doesn’t help move a team forward. Catering to software developers perfectionism tends to be bad for business. And this particular type of article seems to be the most extreme in that regard.
To recap, DP articles:
- are the worst kind of writing (still no explanation)
- likely to inspire useless discussion (sometimes play is a lie?)
- catering to perfectionism (this can be said about any tool)
The article reminds me of many folks I've met who despise analysis and planning. They're constantly getting themselves into trouble that requires quick action. When it works, the chalk the success up to their quick action. They denigrate project planning tools of nearly every stripe. They're also typically very bad communicators and don't manage time well.
But in the end, the need for quick action resulted from the immense dis-ease the person feels around planning, brainstorming, and up-front analysis. The cycle repeats on every project.
There must be an anti-pattern that describes this kind of behavior...
- rosser 9y ago> There must be an anti-pattern that describes this kind of behavior... Well, the anti-pattern that describes this kind of logic is the Straw Man. If all Design Pattern articles were theoretical blah blah blah, The Fine Article might have a point. They aren't. Not even the majority. As long as we just point to the (bad) minority, and act as if they're representative of the whole, then we can continue to hate all articles about design patterns, and play — because this is just as much a form of "play" as the "learning" or "avoiding" techniques being decried — in our preferred, and specifically unstructured way.
- euske 9y agoCan you pick one DP article that seems good to you, please? I won't complain about the article you'll mention. In both OP and your comment, the lack of a concrete example irks me.
- couchand 9y agoAll of Ward's Wiki.
- geezerjay 9y agoIt seems to me that those making blanket statements on how design patterns are bad or useless are actually the ones who have an obligation to support their baseless assertions. Meanwhile, it seems rather obvious that similar problems can be solved by similar solutions, and experience derived from solving those frequent problems can be levetaged to avoid reinventing the wheel every single time that very same design problem pops up. These solutions have a name: design patterns. It boggles the mind how some people insist in claiming that reusing tried and true solutions is useless.
- skizm 9y agoI think the author was saying he hates articles about design patterns, not the actual patterns themselves.
- freshhawk 9y agoI thought it was explained really clearly at the very beginning: It's what those cargo cult architecture conversations are full of. The ones where people sound smart but aren't actually designing anything useful. I think the author might be taking it a bit too far, but they are certainly describing a real thing that I see all the time. Which is bad engineering choices made without thinking and then justified with a string of design pattern terms, used incorrectly.
- wmccullough 9y ago> “The ones where people sound smart but aren't actually designing anything useful.” I’ve been part of lots of teams and teams composed of great and poor levels of talent and I’ve never seen this type of behavior which you describe. Usually the folks getting up in arms over architecture are pissed because folks with experience shot down their idea for reasons of pragmatism and the individual couldn’t handle it because of ego.
- milesvp 9y agoYou may have been lucky. One of the worst messes I had to make work was nonsense a senior dev was working on up until he quit. It was a mess of object oriented wankery that soured me to even the term 'object' for years. He needed to implement 6 funtions with a couple of sql statements to do session handling in php, and instead there were factories and visitors and repositories and facades and I couldn't tell you what else this guy was thinking. He was supposed to be done, and it just needed deployment, but it ended up taking me 3 months, and a half dozen late night deployments and rollbacks before I managed to get it working. If I'd been more experienced at the time I would have ripped it all out and just implemented the 6 functions we needed, but I really assumed he'd had a good reason for the nonsense he'd written.
- itronitron 9y agothat reminds me of all the EJB/JBoss/Spring nonsense that soured Java for a lot of people... presumably it was a necessary step but it would have been nice to just skip ahead to web services
- peterevans 9y agoTo me, this essay read more like a troll; a mish-mash of complaints and anecdotes that don't frankly make any sense when put together. But the author succeeded in getting to the first page of HN, so–congrats? As such, it's hard for me to bring myself to respond to any one point in the piece. It'd be quite easy for most of us to do so, but I suspect that was the intention.
- mcphage 9y ago> The article doesn't explain much about why the author hates design patterns. The author doesn’t hate design patterns. They hate articles about them.
- itronitron 9y agopersonally, I can't stand to read any article about an 'MVC variant' that has some new idea for how to delineate the difference between model, view, and controller
- beobab 9y agoThis. I spent a good long while trying to find out how I was "supposed to do it", only to find out "there are loads of ways", and "it depends". This left me feeling like nobody really knew, and that everyone was just chucking dirt and hoping it stuck.
- YouKnowBetter 9y agoOr as a friend of mine would put it: Coding is closer to art then to sience, and briliant code more like poetry then math. I've been in this industry for over 35 years. On dark days I'd give my left leg for working templates and strickt design patterns. On good days I love the close to absolute freedom we have.
- geezerjay 9y agoIt's not that nobody knows. It's as some frameworks prefer to shoe-horn the MVC pattern to their particular implementation which has some nuances, and therefore prefer to create a whole new jargon to dance around that fact. In some cases there are even frameworks who force gui responsibilities onto the model and don't even provide any controllers and yet still feel entitled to call what they did as MVC. Meanwhile,
- Can_Not 9y ago> There must be an anti-pattern that describes this kind of behavior... Sounds like a cowboy coder.