4 ms·
I work with Java every day. Java and Spring pay my bills at the moment but that doesn't lessen my contempt for the platform. Overly amateurish nature of the com
by VexXtreme 14y ago
I work with Java every day. Java and Spring pay my bills at the moment but that doesn't lessen my contempt for the platform. Overly amateurish nature of the community/ecosystem is a huge issue when you are building enterprise level applications (but have no choice really, because it is your company's technology of choice - usually because they are too cheap to pay for decent dev tools).
The whole community is full of de facto "standards" and half baked libraries which are usually results of someone's summer project.
The language in and of itself is alright (although massively outdated compared to more modern alternatives like C#), but the virtual machine and the nature of the ecosystem make me want to blow my brains out on daily basis. Don't even get me started on the recent security debacle.
I don't know a lot about these new *.js technologies but if they are right tools for the job, then yes, I wouldn't have anything against using them where appropriate.
- unoti 14y agoYou said some insightful and interesting things there, but two things in particular are most striking: 1) You have no choice. 2) You don't know about new technologies. I sense a potential roadmap for you here! Start learning, build something to show people you've learned, and start looking. Whenever you feel trapped, you're becoming obsolete. Don't be a victim, be a conqueror.
- pron 14y agoSo, do you mean Java or the JVM? Because here we're talking about the JVM; that means Java, Clojure, Groovy, JRuby, Scala etc. Sometimes the JVM isn't the right tool; Java the language is often the wrong tool. But when you need to write large, high-performance, backend software, the JVM is pretty much the only rational choice. C/C++ is too expensive effort-wise, in development, in maintenance and in monitoring. Erlang is awesome, but it's too slow for some things. .Net is not robust on non-windows platforms (I'm not sure about this, but this is the common perception). Go is slower than Java, lacks the huge ecosystem, and also doesn't provide all the JVM goodies like runtime instrumentation and profiling, hot code swapping, good monitoring etc. Rust is too immature (and won't give you those benefits either). So, pretty often, the JVM is the only choice and you think it's time to kill it?
- sc0rb 14y agoMaybe you need a better job at a better company that hires better technical talent so you're not forever stuck on your legacy, xml configured Spring stack?
- tensor 14y agoI also work the the JVM (but not Java) everyday. The JVM and it's libraries are arguably the strongest part of the Java ecosystem. You really need to experience other languages and their library ecosystems before you make grandiose comments like these.
- jtheory 14y ago> Don't even get me started on the recent security debacle. I'm kinda curious to get you started on the security debacle, actually. Do you ship Java software that runs client-side? Spring is usually for server-side; if you're just on the server side, though, how has the security debacle affected you? I generally agree about the ecosystem (yup, just gotta avoid most of it) and the core language (though the clunkyness is somewhat mitigated by IDE facilities for auto-generating code). But I mostly spend my time on either client-side JavaScript or server-side Java, and it's the JavaScript side that drives me crazy -- in the JVM, things just work. I've hit runtime bugs maybe twice in 14 years working with Java on the server side, and one of those was on the AS/400 (!), and unless I'm doing something stupid, it's fast.
- brazzy 14y agoIf you think the Java community and ecosystem are amateurish, better not take a closer look at any of the others...