Hacker News new | ask | show | jobs
by jasode 4258 days ago
>Where Go made things simpler is in the dependencies. The app now has all the dependencies compiled in, and so it's completely isolated from what libraries some other app in the container needed. That is a removal of accidental complexity.

I agree with all that Golang simplification except for one thing: I don't call the previous state of affairs "accidental complexity". It's certainly "more complex" with more moving parts but it doesn't feel "accidental" to me.

I maintain that the nature of complexity and location of it has changed. You yourself gave an example:

>(Right up until you need to update all the apps to fix a bug in some library, and now you have to update each app, not just update one library in the container...)

Complexity has now increased in deployment if there's a bug. If Tomcat has a security bug, you update it instead of all the servlets. If golang exe has a bug, you have to recompile all exes and redeploy.

It doesn't mean the Java situation is overall better than Golang, it's just different.