3 ms·
Someone should invent a name for this problem. It's the reason we get a zillion test frameworks, untold thousands of database layers and uncountable reimplement
by kabdib 15y ago
Someone should invent a name for this problem. It's the reason we get a zillion test frameworks, untold thousands of database layers and uncountable reimplementations of linked lists. I can't get through the code of a sufficiently large system without running into someone's crappy command line option parser package, more likely two or three. Don't get me started on rewrites of functions that are already in the library (strcmp, I'm looking at you).
"All these existing packages are terrible; nothing that exists measures up. I'm going to write my own that is just going to /rock/."
That seems to be the issue; a low bar for entry, and it's hard to wade through the spam and the chaff of stuff that's already around and find something that will work well. It's a little like the satellite debris problem we have in LEO right now; there's an inflection point beyond which the sea of junk starts spawning new garbage.
Basically, when you have programmers, you get code. For years that was Microsoft's problem ("We have all these people, and they just won't. stop. typing! Augggh!")
- pointyhat 15y agoThere are a some references here which will help identify the problem: http://en.wikipedia.org/wiki/Not_Invented_Here http://en.wikipedia.org/wiki/Not_Invented_Here http://en.wikipedia.org/wiki/Analysis_paralysis http://en.wikipedia.org/wiki/Analysis_paralysis http://en.wikipedia.org/wiki/Tyranny_of_small_decisions http://en.wikipedia.org/wiki/Tyranny_of_small_decisions
- PaulHoule 15y agoThe strength and the weakness of Java is the huge amount of open source code that's out there. Logging is the worst example, but you can find it anywhere. It's not unusual for a modern web application in Java to have five or more JSON codecs built in. PHP might have a stupid API, but PHP programs regularly use json_encode() and json_decode() and you never need to think about different behaviors in corner cases and different ways to deal with the impedance mismatch between static Java and dynamic JSON.