Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can I say one thing that is great about the JAR ecosystem -- at least in a safe "closed moat" enterprise setting? Monkey patching buggy JARs! In my experience (and many others!), it is pretty common to manage an enterprise Java project that is stuck on an ancient version of a JAR. (This can be true in any language.) If you find a bug, it might be too hard to upgrade to the latest version. But you can easily copy the source code into your project and monkey patch it. Yeah, it won't win any awards, but it keep the ball of mud rolling forward. Yes, I know this technique can be used in lots of other languages.

Also, you make it sound like Java -- in particular -- has a lot of poor open source libraries. I would say the same for Perl. I wrote it for many years, and I was constantly working around tiny bugs in open source libraries. This isn't a comment on Perl or people who contribute to open source Perl libraries. Rather, this is the reality of using a huge amount open source libraries. About 98 to 99% will be "good enough". Then, you need to hack around the last 1-2% buggy bits.

One thing I have noticed in general (JavaScript, Python, DotNet, Java, C++), in the last 10 years, there has been a dramatic rise in unit tests in open source libraries. Fifteen years ago, you were lucky to have any unit tests. Some of the best libraries now advertise their unit test code coverage on GitHub. It is great progress.



I’ve never used the jar monkey patching workflow (or gone much further with Java than some getting started guides in the 90s,) so I could be wrong, but it seems akin to opening up a new high-interest line of credit to pay down your current debt. Everyone has a plan to pay it down before the promo APR expires, but most end up making the minimum monthly payments and a year later have yesterdays debt with higher, retroactively-applied interest. Unless you know of an imminent replacement or resource boost, assuming there will be a better time to actually solve the root problem seems crazy.


I actually agree with all of what you say. I have done monkeypatching of that sort -- as a workaround for some bug in Apache Wicket, I forget the details -- and it wasn't elegant but it worked.

Also agreed, I'm sure other ecosystems share these problems. I know nothing of Perl, but I trust you on that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: