5 ms·
> It feels like arguing about colors from the whole spectrum of the rainbow without saying which color we're arguing about. Arguing about a rainbow or arguing
by neonological 6y ago
> It feels like arguing about colors from the whole spectrum of the rainbow without saying which color we're arguing about.
Arguing about a rainbow or arguing about a color in the rainbow doesn't effect the validity of an argument, I'm not sure your analogy makes any fundamental sense here.
>The whole point it to use common vocabulary where you can drop this "pattern" suffix when discussing things.
Isn't this the purpose of the English language? The "Design Pattern" concept is a redundant concept existing recursively in English. English already provides a "common vocabulary" for "discussing things."
What does design patterns provide on top of that? Only additional complexity and redundancy.
That's why basically all fields outside of programming don't really use the word "design pattern" because it's not necessary. It's a bit of snobbish for a pilot to call a flight technique a "design pattern."
>It can be anything,
And that's why it's pointless. There are even design patterns in poetry if you follow this line of logic. The English language is pretty much the "language" designed to be "anything." For a concept within "English" to be useful it must focus on a smaller subset of "anything."
- jcelerier 6y ago> What does design patterns provide on top of that? Only additional complexity and redundancy. understanding each other would be impossible if we just said, e.g. strategy or command. "we use a strategy" can mean a ton of stuff in the context of a chat between developers in a company. "we use the strategy pattern" will be clear to everyone.
- neonological 6y agoChange the name strategy to something more clear. Kind of pretentious to use a common word "strategy" to describe a specific technique as if it's the most strategic pattern ever. It's like if someone came up with the "Logic pattern" or "Intelligence pattern."
- jcelerier 6y ago> Change the name strategy to something more clear. Kind of pretentious to use a common word "strategy" to describe a specific technique as if it's the most strategic pattern ever. It really makes sense though. I sometimes gave OOP classes to beginner students by having them discover the patterns on their own. Not only they manage to do that easily most of the time, but some of them also manage to give them the correct name, without any prior exposure to the GoF book.
- neonological 6y agoI disagree. Stuff like "Dependency injection" or "Inversion of control" are by far the most inflated names for such simple techniques. These names were deliberately chosen to inflate academic worth at the expense of clarity.
- mirekrusin 6y agoRainbow analogy meant to mean that often arguments a) focus on narrow aspects and b) don't explicitly define context. Excel patterns will be different from patterns in x86 assembly or high level software architecture. Sometimes patters are prose about arrangement, sometimes template can be provided and in some cases even fully functional, generic code can be provided. I don't see anything wrong with calling them "design patterns", software is about "designing" systems and "pattern" reflects the fact that they re-occur, can be reused, can be applied to similar problems etc. The value is in recognising similar structures, communicating them, reusing solutions to already thought through problems etc. Poorly designed code can be recognised straight away with ad-hoc, incoherent spaghetti. On the other side there are many poorly applied "pattern" implementations with idiotic verbosity that should be called out as "anti-patterns" instead (just mere change of the language is enough to move a pattern to anti-pattern). Just because it can describe about anything doesn't make it pointless, just like "best practices" section can be about anything, it doesn't mean it makes it pointless. Anti-patterns are very useful concept as well.
- neonological 6y agoI don't think you understand my point. Programming techniques and giving names to these techniques is not pointless. What is pointless is pretentiously inflating these techniques and placing them into a pseudo academic field and calling it "design patterns." >The value is in recognising similar structures, communicating them, reusing solutions to already thought through problems etc. The English language already reuses concepts. You drive cars. You do not call it the "car driving pattern" and make is part of the concept of "design patterns" This is the pointlessness I am referring to. >Anti-patterns are very useful concept as well. Yeah in common English you call it "Bad techniques" or "ineffective methods". Everyone is already 100% aware of the concept of a technique that isn't "good" you don't need to teach people this concept. My argument here is that the name "anti-pattern" is pure snobbery. It's like calling standing still "anti-movement." No new concept was introduced by the word "anti-pattern." Anti-pattern refers to a very simple concept that every single human understands. The pretentiousness is in the word and inflates the perception of this concept to the point where someone like you thinks "anti-pattern" is a completely new mind blowing concept (It's not).
- mcphage 6y ago> It's a bit of snobbish for a pilot to call a flight technique a "design pattern." What? Why do you think this?
- neonological 6y agoNo more recipes from cookbooks. Those are "design patterns" from a book on "nutritional design patterns." I take it back, everything is a design pattern now. I see the light.
- mcphage 6y agoHow big is that chip on your shoulder?
- neonological 6y agoBig enough to meet up with you and talk about it face to face. Why don't we exchange contact information and meet rather then post off topic stuff that violates the rules of HN.
- mcphage 6y agoGood idea, you sound like a really fun person to spend time with.
- neonological 6y agoLook, Mark, I'm not too far from Buffalo so I can totally visit you and we can have some fun. We should take this discussion offline or end it here because I don't want to continue violating the rules with some off tangent discussion. Either way, be seeing you buddy, it's been a while.
- dang 6y agoWhoa, this is not ok. Please don't post like this. HN is for curious, respectful conversation—if your curiosity or respect levels drop below basic minima, please don't post until they recover. Escalating into personal attack (as you did downthread: https://news.ycombinator.com/item?id=26382222 https://news.ycombinator.com/item?id=26382222) will get you banned here, so please don't do that either. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html