4 ms·
Nothing is wrong with Java. Java has some plusses and minuses like any language. Java has: * Fantastic concurrency support (Better than Javascript, Python, o
by ecshafer 3y ago
Nothing is wrong with Java.
Java has some plusses and minuses like any language.
Java has:
* Fantastic concurrency support (Better than Javascript, Python, or C)
* One of the largest most mature library systems in existence, with far fewer amateurish "left pad" type libraries like Javascript or Python
* Supported basically everywhere by any vendor you can imagine
* Pretty good strong type system to reduce bugs, and making refactoring very easy
* plethora of frameworks for your use case, whether its server side rendering, monolithic apps, Raw SQL or ORM, microservices, reactive.
* Probably the best tooling and ides in software development.
* getting lots of new features to alleviate pain points with the newer rapid development
Negatives for Java:
* C# has linq
* Type system isn't as advanced as OCaml
* Generics have type erasure due to backwards compatibility
* verbose and lots of boiler plate
- _chu1 3y agoIs it any good for beginners?
- mschuster91 3y ago> * Probably the best tooling and ides in software development. Agreed on the IDEs, nothing can beat IntelliJ... but general tooling? Definitely not. Maven is a hot mess of XML where people tend to do horrible horrible hacks just to survive, and Gradle projects tend to be even messier because of Groovy's syntax allowing about five different ways of doing the same thing.
- vips7L 3y agoI'll give you gripes with maven/gradle (even though maven tends to just work for me), but look at all of the observability tools like Mission Control, Flight Recorder, and VisualVM. What other language has all of this?
- wiseowise 3y ago> Gradle projects tend to be even messier because of Groovy's syntax allowing about five different ways of doing the same thing. Spoken like a true "I've never seen Gradle beyond copy pastes from Stackoverflow". Modern Gradle is all about plugins written in Kotlin. Your buildscripts shouldn't have anything beyond `implementation` block.
- mschuster91 3y ago> Spoken like a true "I've never seen Gradle beyond copy pastes from Stackoverflow". Which is what the majority of legacy, grown Gradle scripts are in my experience among multiple government and private companies' projects. The older the project, the worse state the build scripts tend to be. The worst I ever encountered was a project that was mainly done with Maven, but that called out to Gradle and Ant for weird manipulations to get the build artifact to the formats required... gives me nightmares to this day.