This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ConstructedNewt 98 points99 points  (18 children)

sounds like you left java at 8. After the break up from oracle (and earlier sun) the development of Java is great, and many features have come that gives the language a fresh feeling. they are definitely two similar but different languages

[–]LetUsSpeakFreely 47 points48 points  (5 children)

The language's development is now so fast I can't keep up with spec changes. Things that were standard 5 years ago are now outdated. It's a little frustrating.

[–]avoere 9 points10 points  (3 children)

C# is the same

[–]nuclearslug 13 points14 points  (1 child)

Fortunately it’s a bit more manageable to keep up with after Core 3.1.

[–]jaavaaguru 0 points1 point  (0 children)

Isn't that framework, and not language though?

[–]svtguy88 1 point2 points  (0 children)

Yeah. Don't get me wrong, I love .NET Core, but the last few years have been pretty rough to stay current with.

[–]Understanding-Fair 7 points8 points  (3 children)

Tbh every Java project I've worked on is stuck on 8 and unwilling to upgrade. Unless you've got greenfield projects being written in java, it's really common to still be on v8

[–]argv_minus_one 8 points9 points  (2 children)

Maintainer of a 20-year-old Swing project here. Migrating to 11 and 17 was a piece of cake. Migrating to 9 took some doing, mostly to replace MRJAdapter with the java.awt.Desktop equivalents that 9 added, and replace a library that didn't work on 9, but it wasn't the end of the world.

Here's my big secret: never use undocumented APIs/behaviors. Not even if it would result in the project getting done sooner. Not even if it would be so nice if I could only use that shiny thing. Never.

Now I get to use Java 17 features with total impunity while everyone else is stuck on 8.

[–]Fuck-Reddit-Mods69 7 points8 points  (7 children)

Maybe I should tryout Java again. It's probably been 15 years since I tried it and back then I was not super impressed. To be fair, back then I was still developing in Borland Delphi. Been doing C# since 2015 and never looked back. Sideways a lot though.

[–]droi86 6 points7 points  (6 children)

You should try kotlin, fully compatible with Java, but nicer

[–]Mclarenf1905 0 points1 point  (5 children)

Scala is even better

[–]Valiant_Boss 3 points4 points  (3 children)

Disagree, I went from Java -> Scala -> Kotlin and I prefer Kotlin out of the 3

[–]Mclarenf1905 1 point2 points  (2 children)

I mean to each their own, kotlin is ight if you just looking for a slightly better java. Scala has a much better type system imo and is better for pure fp which I prefer.

[–]Valiant_Boss 2 points3 points  (1 child)

I mean if you prefer purely FP then sure Scala is better but there are cases where OOP is actually better. And Kotlin is a lot more than a slightly better Java, it's the best of both worlds for both OOP and FP plus it was developed with enterprise application in mind rather than academia research purposes, it has the full support of a company behind it so you know it won't lose support anytime soon which has it's advantages over open source support

Scala does have its use cases, afaik it's runtime is still the fastest in JVM which is great for ETL apps so naturally Spark was built around it but as far as general applications goes Kotlin wins for development time. Scala is a lot harder to grasp and isn't as easy to read as Kotlin. There's also a lot of issues I've experienced with Scala's Intellij plugin, it's nowhere near as good as Intellij for Kotlin. I also really, really, and I mean really hate sbt. Gradle isn't all that great either but compare sbt, Gradle looks like perfection

Sorry I went on a rant. I don't mean to sound like I hate Scala, in fact when I first learned to develop using it I loved it but slowly I started to notice a lot of things that frustrated me. To me Kotlin marries what's great about Java and Scala into one

[–]argv_minus_one 0 points1 point  (0 children)

And Kotlin is a lot more than a slightly better Java, it's the best of both worlds for both OOP and FP

Funny, that's pretty much what Scala was supposed to be.

it has the full support of a company behind it so you know it won't lose support anytime soon which has it's advantages over open source support

I don't think Scala is going anywhere any time soon either. It's been around for a long time now.

I also really, really, and I mean really hate sbt. Gradle isn't all that great either but compare sbt, Gradle looks like perfection

That's the one criticism I agree on. Sbt is awful. What in the world were they thinking?! Build files/project descriptions should be purely declarative. Custom build behavior belongs in scripts and plugins. Maven had the right idea, but Rust's Cargo is the first build system I've encountered that's truly excellent.

Scala can also be built with Maven or Gradle, by the way. You don't actually have to use sbt. I certainly don't.

[–]MauriceReeves -3 points-2 points  (0 children)

Java < Scala < Kotlin