> Java is fun to write, productive What the hell? I don't think we have the same definition for any of these words. I know Java has changed quite a bit since Java 8 (Java 9 being the last version I used professionally before switching completely to Go), but I just can't write Java again, it's physical. When I want to try a new Java feature and think about writing the scaffolding code, my stomach actually hurts. Not t…
You just described how I feel about C++ I used to be a C++ wizard . I did things with that language that were just unspeakable. I used features so obscure that I don't even know if they have an official name. Then after I dunno... the five hundredth nonsensical linker error, something in me just snapped and I just can't ever go back there.
Java Is Underhyped
421–430 of 808 posts
Re: Java Is Underhyped
#422I don't know about the language itself but as an ecosystem Java failed spectacularly. Why is there a strong relationship between an application developed in Java and lack/horrible setup of documentation for this app? I just find it everytime I use something developed in Java.
Re: Java Is Underhyped
#423Re: Java Is Underhyped
#424Earlier quoted context omitted.
The crap people created on top was typically responses to deficiencies in the language, whether they knew it or not. Stuff like "everything is a class".
I have a saying for that: design patterns are a language smell.
I'm absolutely convinced that's true for some of them. I was never 100% convinced it was true for all of them.
Re: Java Is Underhyped
#425For my use cases, Java has all the wrong compromises: - not high level enough to compete with Python/Ruby/JS/PHP, etc - not low level enough to compete with Rust/D/Nim/Zig - not specialized enough to compete with Erlang/R/Go/Julia - not opinionated enough to compete with Lisp/Haskell So why use Java ? It's good, it's fast, it's productive, it's well supported, battle tested and documented for decades with a huge pool…
Your premise is that you are able to chose a language based on how appropriate it is for a specific use case. This alone shows you are not the typical user of Java! Java is typically used in larger or long-lived organizations. It is rare to start new projects from scratch. Most development is maintenance and extension of existing systems. Even if you start a greenfield project, it would be most prudent to chose the s…
Anecdotally, I see a trend of greenfield projects moving from Java to NodeJS. I can't think of too many organizations that have zero web presence, and basically any modern web presence requires the use of JS, so there's almost always some JS expertise built into the organization.
Re: Java Is Underhyped
#426For my use cases, Java has all the wrong compromises: - not high level enough to compete with Python/Ruby/JS/PHP, etc - not low level enough to compete with Rust/D/Nim/Zig - not specialized enough to compete with Erlang/R/Go/Julia - not opinionated enough to compete with Lisp/Haskell So why use Java ? It's good, it's fast, it's productive, it's well supported, battle tested and documented for decades with a huge pool…
> So Java is not a bad choice. It's an excellent tech. I just don't have a use case for it. The language is underwhelming, the JVM is great.
Re: Java Is Underhyped
#427Java is one of the most unpleasurable technologies to work with. It is slow to start up, full of idiosyncrasies, and all in all, a pretty awful language when it comes to brevity. Java is the epitome of "lets use this language so we can hire cheap coders." It is a vestige of what it came from, even if some new features have been added 10 years too late.
Re: Java Is Underhyped
#428Earlier quoted context omitted.
I think the opposite actually. Python, JS and C/c++ are full of idiosyncrasies. Java allows students to quickly get up and running and focus on the 'CS'. That said, Python might be more practical for anything applied in school.
I don't that find Java as a language has fewer idiosyncrasies (perfect term btw). For example, the many modifiers: public, private, "package-private", protected, default, abstract, static, final, volatile, synchronized, etc. How much of that is relevant to a fledgling programmer? If you extend your consideration to build systems and other tooling, it's easy to see that students have a lot to overcome with Java as an…
Yes - 'Logo' is a good choice for the most entry-level users, maybe for high schoolers who are taking CS as a 'required' part of the curriculum, but anything beyond that Java is fine.
I think Generics, Java9++ 'Modules', jar files and class files might be the idiosyncrasies to worry about.
That said, it's weird that in 2021 we don't have a universally 'basic' programming language that is essentially the 'vanilla' of programming.
Somewhere inside JS/Python/TS/Java/Dart I think is that 'basic vanilla' imperative language I think.
Re: Java Is Underhyped
#429This post from "an ignorant computer science undergrad" is pretty silly, so allow me to get a little silly in response. I think if Java's new features are an attempt to woo new developers, Java comes off pretty tragically, like the old guy in the club, trying stay relevant by showing off how it just got up to date with ideas that hit the mainstream ten years ago. Whoa, check out these record classes! Fresh stuff over…
Re: Java Is Underhyped
#430Earlier quoted context omitted.
Kotlin solves most of the problems for us while leveraging the benefits of the JVM.
JVM != Java. We are talking about Java as a language, not the JVM as a platform. You can also run Python on the JVM. Although, some Java compromises are definitely linked to the JVM.
Jython is stuck on 2.7 and unmaintained.