4 ms·
I only spent two years in contact with Java. I was initially very pleased with how easy dependency management was but it soured over time. I'd respond to produ
by __MatrixMan__ 5y ago
I only spent two years in contact with Java. I was initially very pleased with how easy dependency management was but it soured over time.
I'd respond to production disasters with hacky bash scripts and then we'd spend the next sprint incorporating that functionality into the server so the hacks weren't necessary. We kept catching ourselves working really hard to optimize what we thought at first needed to be custom code but what ended up being easily achievable by leaning on well-known non-java tools like `diff`. There's something about the way Javs encapsulates everything into a JAR that discourages Java devs from using anything on the outside.
If you can live in a world where everything you need is in the JAR, life is good, but that hasn't frequently been my world.
- tootie 5y agoI spent many years working with Java and never used bash for deployment. Maven covers all the bases. And when you have something really custom, you write a maven plugin. Which can also be managed with Maven.
- __MatrixMan__ 5y agoOh the bash scripts had nothing to do with deployment, they just fixed the data that the buggy deployment created. It's only relevant because the high level of encapsulation that made deps easy to manage also represented a barrier. Using diff and awk was fast enough, the reimplementation in java wasn't (happened just a few times). Language ecosystems with a more permeable encapsulation style make it easier to reference tools outside of that ecosystem at the cost of making it harder to get your deps straight.