4 ms·
> anti-patterns if it works and it's stupid... it's not stupid. If companies around the world can get stuff done with "anti-patterns" then, by definition, they
by wernercd 3y ago
> anti-patterns
if it works and it's stupid... it's not stupid. If companies around the world can get stuff done with "anti-patterns" then, by definition, they don't "suck".
I'm all for doing better and trying to improve my "craft" but I'm not going to look down on decisions that work.
- msla 3y agoLeaded gasoline worked but it was so stupid it actively made people stupid.
- jkaplowitz 3y agoI think you’ve just identified leaded gasoline as the next greatest AI-powered cloud native blockchain technology.
- throwanem 3y agoYou can drive a nail with a brick if you try hard enough. Does that make it not stupid to go looking for a brick while there's a hammer right there in your toolbag?
- AlchemistCamp 3y agoA screwdriver is the tool I know best and therefore it’s the most productive thing for me to use to nail things together with in my upcoming project. I learned this strategy from HN/IH commenters on many, many posts asking about which tools are ideal for various tasks.
- ivan_gammel 3y agoI would entertain myself looking how someone uses a screwdriver with a nail. Novel engineering approaches are never late to study.
- scns 3y agoI prefer a screwdriver to my bare hands when i need to drive a nail but no hammer at hand. Speaking about real tools and not metaphorically though.
- HowTheStoryEnds 3y agoYou obviously use 2 precisely configured screwdrivers, so one screwdriver can hit the other when the nail requests it, like a multilevel cache.
- bawolff 3y agoFor a technology to not work at all it has to be really really shitty. Anti-patrern means pattern that is bad. If the tech didn't work at all it wouldn't be a pattern at all. You could write your website in handcrafted assembly and it would work, but it would still be really stupid.
- irrational 3y agoMore like, they want to use cheaper labor who don’t know SQL so they give them baby tools like ORM. Follow the money.
- quickthrower2 3y agoAlso there was a time it would be good to have Entity Framework or Hibernate on your CV. Another follow the money.
- quickthrower2 3y agoGetting stuff done is by far not the only concern. Maintenance cost is definitely a problem to consider.
- seanhunter 3y agoNope. If it works and it's stupid, it's still stupid. Just because companies can get stuff done in dumb ways doesn't mean those ways aren't dumb, it means that by brute force, sunk cost and obstinacy they can make things happen. There are any number of technical and non-technical dumb things in any large organization. You definitely can't assume something isn't dumb just because a company does it. Noone is looking down on ORMs because they work, people are looking down on them because they don't work well enough to justify their downsides in most use cases. That's why people call it an anti-pattern. Yes you can get it to work but in general it's going to make things worse not better. Now are some things that people call "anti-patterns" actually the right thing in certain circumstances? Absolutely. Just because something sucks in one situation doesn't mean it isn't the right choice in another.
- wernercd 3y ago> Nope. If it works and it's stupid, it's still stupid. Successful businesses with successful and profitable products say otherwise. The fact that stuff gets done means that it's not dumb, at a base level. You may not like it - and a lot of people don't because it removes the need for overengineered, oversmart and other "solutions" when sometimes the best solutions is literally the "stupid" solution. > Noone is looking down on ORMs because they work, people are looking down on them because they don't work well enough to justify their downsides in most use cases. A decade of experience in a few companies I've worked at and every company I interview with says otherwise. EF is top notch and removes a large swath of "boilerplate" code and works more than well enough. I've had much better experiences with something like EF than I have with stored procedures and triggers and other "better" solutions. > Now are some things that people call "anti-patterns" actually the right thing in certain circumstances? Absolutely. See? you even admit that "anti-patterns" are the right patterns "in certain circumstances". The only thing you disagree with is how common those circumstances are and for the vast majority of circumstances? ORMs are a lot better than "custom" layers underneath. Nothing worse than creating a custom way of doing something that's already done. Inserting your own bugs. etc. Smart programmers don't solve problems that are already solved. I wouldn't create a PDF parser from scratch (outside of learning excercises). I wouldn't create a Word Document parser. XML parser. etc... Why would I create a data layer management package when I have better things to do with my time that actually adds value to a company?
- MrDresden 3y agoI guess you have never had to come in and solve a bad situation that has arisen specifically due to the bad short term decisions someone made in the past. Not all tech debt is bad, as long as it is recognized when being created and gets accounted for in near future planning. That way it is a deliberate decision taken, after weighing pros and cons, knowing it will need to be dealt with at some point. The worst of these is when those making the decisions don't know as much as they think they do, forgo weighing pros and cons, and paint them selves into a corner by accident. Those kinds of situations can literally kill a company (and have).