4 ms·
Using Java doesn’t mean you have to name everything AbstractFactoryFactoryBean. That’s just general bad development no matter what language is used. My personal
by dave_sid 5y ago
Using Java doesn’t mean you have to name everything AbstractFactoryFactoryBean. That’s just general bad development no matter what language is used. My personal hate is over engineered solutions with too many latest fashionable technologies shoehorned in for the sake of using them. Especially 5 years later when you have to deal with them.
- dragonwriter 5y ago> Using Java doesn’t mean you have to name everything AbstractFactoryFactoryBean The problem with AbstractFactoryFactoryBean isn’t the name. In the complaints about things like that, the names are used because they are well-chosen, appropriate names for the things being complained about.
- dave_sid 5y agoAt the end of they day class names like that solely come from the GOF design patterns. Nothing to do with any language. I think I’m ready to leave the software industry now too to be honest.
- dragonwriter 5y ago> At the end of they day class names like that solely come from the GOF design patterns. The GOF design patterns are influential as boilerplate templates in certain language communities precisely because they solutions to commonly-encountered problems that are not easily reducible to generic, reusable components in those languages. Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell, not a language-independent feature of the software industry.
- TimTheTinker 5y ago> Design patterns — in the boilerplate template sense, though not the underlying concept — are a language smell, Underrated comment. In C++/Java, one must turn to GoF patterns to accomplish much of what's supported using basic syntax in many other languages (e.g. first-class functions, extensible objects, coroutines, prototypes, flexible parameter types, functional composition). When it was published, Design Patterns must have seemed sad (or perhaps vindicating) from the perspective of a seasoned Lisp developer.
- dave_sid 5y agoI think this starts to boil down to those who like OO and those whose don’t.
- dragonwriter 5y ago> I think this starts to boil down to those who like OO and those whose don’t. I don't think so; there are OO languages where many of the GoF patterns can be implemented in libraries, or are trivial given language builtins.
- TimTheTinker 5y agoReal OO looks almost nothing like C++/Java. If you listen to one of the fathers of OO, like Alan Kay, talk about these languages, they'll say as much. C++-style indirection, I'd argue, is the invention of Bjarne Stroustrop. He's a very smart guy, but for C++ I think that's an unfortunate thing, because he didn't come to programming language design with a desire for elegance or simplicity. Smalltalk probably best embodies true OO principles, and it has a profound elegance and simplicity about it. (And yes, many GoF patterns are easy to use without even realizing one is using them -- first-class functions and message passing/late binding make sure of that.)