Hacker News new | ask | show | jobs
by snorkel 5055 days ago
I don't hate the Java language. I hate the Java ecosystem.

The teams I work with that use Java end up being the slowest moving teams because they can't deploy even the simplest code changes without a lot of pomp and circumstance and inability to upgrade their servers without disrupting the whole fragile of chain version dependencies. The java teams are the only teams that have to stop the world for hours when doing server code upgrades. Rails and PHP teams have much simple code deployments.

2 comments

They should pick a better ecosystem then. With Maven and Jenkins I simply tag a release in git and Jenkins automatically builds new war files that are deployable by copying them to a deploy/ directory. This basically means:

git tag -a v1.0.1 -m 'Version 1.0.1' ... wait till build is done ... cd $WEB_SERVER_HOME/deploy curl -O http://repo/myapp-1.0.1.war

Done. The last step can also be automated. I've worked with setups where production machines simply follow tagged release builds. Or just use puppet.

Java can rock. Specially with Maven it takes away so much pain of build/package/deploy.

The java teams are the only teams that have to stop the world for hours when doing server code upgrades.

I will say that this has more to do with the project than the language. Having recently inherited an old codebase at a new job, I've found at least 4 frameworks being used for the same app. Why didn't they just continue using one framework or upgrade when they switched? Don't know and the devs are long gone.

But like all languages it's easy to just half-ass something and leave it for the next guy. That's not something just for Java.