Live data from Hacker News

Java Is Underhyped

jackson.sh

311–320 of 808 posts

Re: Java Is Underhyped

#311
post #112

> 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…

Ideas in the foundation of maven are old, but that is the only complaint I have with this tool. Problems it solve are not new either.

As for amounts of scaffolding, IntelliJ product writes it for you. And modern Java forces you to write only a half of it anyway.

Re: Java Is Underhyped

#312
post #194

Earlier quoted context omitted.

> You know the joke: a dev has a problem, uses Java, and now has a ProblemFactory :) I LOL’d at this joke (again) because it’s true, but if we’re honest, it’s also unfair. ProblemFactory is a bad idiom, rather than anything to do with Java The Language. You could (and IMO, probably should) just use a new Problem(). Java The Language was very stable for a very long time, so IMO the hype and fads got built on top. Firs…

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 don’t think that’s true at all. Like most languages, Java has its share of deficiencies - I’d personally put null handling, type erasure and brain dead Optionals near the top of my list of things I’d change if I was King of Java - but fluent APIs and factory methods didn’t even start with Java, and have nothing to do with “everything is a class”.

Re: Java Is Underhyped

#313
post #55
post #7

There are a few reasons to avoid Java today. - The programs are very verbose for the functionality they provide. There are countless lines of getters, setters, and trivial constructors. While IDE helps to write them, it makes reading existing programs slow and frustrating. Lombok helps, but very few programs use it. - If you do want to use Java ecosystem, there is Scala. It also has strong type system, nice IDE suppo…

Another reason to avoid: Oracle owns Java. This automatically puts Java on my list of tools I'd prefer to avoid for new serious projects. (Legacy projects; if it's working and it isn't an issue yet, maintenance.)

Java is not only driven by Oracle, there are even independent JVMs. And then, there is OpenJDK, which is supported by many different big companies (Oracle, IBM, Apple, Microsoft, etc.) [1] As long as you are just _using_ the JDK, I see no problem regarding that Oracle may sue you. And besides that, I see no problems about Oracle _owning_ Java (idk if you really can say that Oracle _owns_ Java, I mean OpenJDK is open-source and free).

Re: Java Is Underhyped

#314

The amount of vitriol Java receives in the game development space is rather strong. However, whenever people dismiss Java as being a bad language, I can't help but think of Minecraft. Yes, it's one of the few mainstream titles where Java has been successfully applied, but I believe Minecraft's success was specifically because it was written in Java. With no JVM, there would have been no Minecraft mods at the level of…

>> The amount of vitriol Java receives in the game development space is rather strong.

I think this is because of the way it handles memory. It's like the clunkiness of C++ without the power to optimize. Also, compared to python it is fast, but not compared to C or Rust.

That said, for 99% of applications the Java garbage collector is safe and tends to produce reliable code. The article is right in that Java is an extremely useful language with good tools. Games are an edge case.

Re: Java Is Underhyped

#315
post #96

Earlier quoted context omitted.

Use OpenJDK! Never touch anything from Oracle. Then you will be fine. Oracle is the company that wants you to buy a license for your MariaDB(!) instance running on a small AWS instance! Yep, that happened. Source: have worked with Java for years, three of those around Oracle products.

> Use OpenJDK! Never touch anything from Oracle. But OpenJDK is Oracle's. They are the primary contributors to the project, and they really made it 100% open-source.

Despite Oracle being the primary contributors, there are other big companies (IBM, Apple, Microsoft, etc.) [1] supporting OpenJDK. And this are only the big companies, there are so much medium/little companies just using Java as a language without actively sponsoring/supporting the OpenJDK project. IMHO, there is no possible way that the OpenJDK (and Java) arent going to be enhanced further for many many years.

[1] https://en.wikipedia.org/wiki/OpenJDK#Collaboration_with_IBM...

Re: Java Is Underhyped

#316
post #23

Having been around in the 1990s, I can assure you that "underhyped" is the very LAST thing I think of when Java is mentioned.

Look at their age. We've arrived in a world were young developers rediscover old tools and missed the time when Sun Microsystems brute forced Java down the throat of everyone.

Heck, here were native Java CPUs, Java Smartcards and different editions like JavaME for what today is branded IoT devices.

I cannot get the "write once - run everywhere"-slogan out of my head to this day. I don't even want to imagine a world where Java Applets actually "won" the internet and we would have proprietary multimedia applets instead of and tags or even just CSS...

Re: Java Is Underhyped

#317
post #285

Earlier quoted context omitted.

> Use OpenJDK! Never touch anything from Oracle. But OpenJDK is Oracle's. They are the primary contributors to the project, and they really made it 100% open-source.

You can use any other fork/build like AdoptOpenJDK or any other. It is open-source like Linux Kernel...

You can use AdoptOpenJDK or Azul or whatever, but you will be using code largely from Oracle. I don't think there is any problem with that, but the OP said "never touch anything from Oracle".

Re: Java Is Underhyped

#318
post #315

Earlier quoted context omitted.

> Use OpenJDK! Never touch anything from Oracle. But OpenJDK is Oracle's. They are the primary contributors to the project, and they really made it 100% open-source.

Despite Oracle being the primary contributors, there are other big companies (IBM, Apple, Microsoft, etc.) [1] supporting OpenJDK. And this are only the big companies, there are so much medium/little companies just using Java as a language without actively sponsoring/supporting the OpenJDK project. IMHO, there is no possible way that the OpenJDK (and Java) arent going to be enhanced further for many many years. [1] h…

I know, I just wanted to point out that you cannot use OpenJDK and at the same time not use anything from Oracle.

Re: Java Is Underhyped

#319

Earlier quoted context omitted.

I write software in Java. I can't stand python - too wishy-washy. But my main complaint about Python is trying to use someone else's software. Then it degenerates into a maze of twisty little passages of trying to install the correct set of dependencies, not knowing where those files are installed (which makes it difficult on a cluster, as you may need to do the install on every node separately). Then you try using p…

Java is so much worse on this front. > with Java, you just dump the necessary jars into a directory, include them in the classpath, and it works. Ant, maven, or gradle, and then some jars, somewhere? What's the classpath and whats $JAVA_HOME for this project? Oh and now I have to make it work in the IDE too, click through a billion menus and dialogs, sync the build system, sync the dependencies, configure runtimes an…

> Oh and now I have to make it work in the IDE too, click through a billion menus and dialogs, sync the build system, sync the dependencies, configure runtimes and classpaths, try to rebuild for the 10th time, pray.

That is not my experience at all. I dont have to rebuild work project many times. Creating new scratch project for playing in is easy and fast. Dependencies are managed by maven and I rarely have to deal with that beyond added dependency tag.

Re: Java Is Underhyped

#320
post #221

I haven't been coding as long as most (about 10 years) but I've had phases of Java, Ruby, Python, JS, TS, ObjC, etc. If I go onto my GitHub and try to get any of my old projects running I am extremely confident that the non-Android Java ones will still work. All of the other ones will probably have "rotted" over the years and send me down a day-long rabbit hole looking for old dependencies or build systems. There's s…

My experience with C# is similar. It was always designed to be a Java clone, and Microsoft is well-known for their backwards compatibility.

I once wrote an application in 2005 that kept running with unmodified source code up until 2017 in production across multiple operating system upgrades, database upgrades, and a transition from 32-bit to 64-bit runtimes.

Post reply on HN