Remix.run Logo
arp242 5 days ago

> With dynamically typed languages I feel it's better to wait until you've tried to maintain the code for a while before you consider the languages effectiveness.

True for any language really. There's an entire category of blog posts: "I used language X for 2 weeks and here's my hot take". Okay, great. But what do you really know? For every language I've used for a serious amount of time I've changed opinion over time. Some things that seemed like neat ideas at the start turned out to be not so neat ideas down the line. Or things I considered pointless or even stupid at the start turned out to be very useful once I better understood the nuances and/or got used to working with it.

And of course it's double hard to judge will come back to haunt you a year down the line.

Even as an experienced programmer I find it hard to properly judge any of that from just a few weeks.

mabster 5 days ago | parent | next [-]

To extend on this: There was always this implied impression that the original developers were hot because they got stuff up and running really quickly and that all the newer developers were lukewarm because they weren't getting stuff happening quickly at all, all as a result of the original language choice!

szundi 5 days ago | parent | prev [-]

This is what makes Java underrated these years. Some annoying stuff pays off over a decade several times. You can make insane complexity with ease.

ecshafer 4 days ago | parent | next [-]

Java is a great language, and the JVM a great platform. I think that the thing which makes Java underrated isn't the language, but rather Java Developers. There are tons of great Java developers, but they are probably great developers in any language. But Java being the language of choice at so many enterprises results in a large number of very low skilled and inadequate Java programmers, who would be bad developers in any language, but specialize in Java.

kmbfjr 4 days ago | parent [-]

The JVM is awful. In 2025, it still arm wrestles with the OS on which it runs for memory management and still completely loses its shit should the OS decide to send any portion of its precious memory allocation to swap.

The language, is beautiful.

redeeman 4 days ago | parent [-]

dont swap

mabster 4 days ago | parent | prev [-]

I have mixed feelings about Java. It's a solid feature set, and I really love how InterruptedException was always a thing, so you can generally terminate a thread and it works (a lot of languages don't do this right). I love checked exceptions.

But the spooky action at a distance type annotation hell, needing builders everywhere because of lack of named parameters, poorly conceived generics, nullability not being first class, lambdas being incompatible with checked exceptions, etc. are a pain.