2 ms·
Sophomore developers love to use every single tool and pattern as much as possible. I am not excluding myself as I clearly remember doing this and still catch m
by api 9y ago
Sophomore developers love to use every single tool and pattern as much as possible. I am not excluding myself as I clearly remember doing this and still catch myself over engineering.
This is so true:
http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer....
My favorite is what such devs will do with C++. I once simplified a C++ boost code base using binding, functional patterns, etc. down from dozens of files and thousands of lines to one class with less than 1000 lines of straightforward code. I am not exaggerating. Java design patterns cruft is hilarious too.
I think it comes from a not entirely bad drive to explore. Problem is when it goes so haywire that it causes unmaintainable bloatware that consumes hundreds of times more resources than it needs.
Edit: three other observations.
I think Golang is deliberately engineered to limit this by offering fewer language features and discouraging towers of Babel.
Overengineering is death in dynamic languages since without strong typing your tower of Babel becomes a bug minefield.
Finally wow has Amazon ever hit gold by monetising this. They offer compostable patterns as a service and market them like Java patterns were marketed.
- chrisco255 9y agoIt's not typing but state management that causes the tower to collapse. Typing solves minor inconvenient bugs that are quickly fixed. Poor state management slows development cycles with inflexible data structures and causes really hard to trace bugs.