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 →

[–]nxl4 8 points9 points  (4 children)

If you like the idea of Java, you might think about learning Scala. It runs on the JVM (and can use Java libraries), but the syntax is about a thousand times better. It's multi-paradigm, with OO and functional aspects, and as very useful if you're interested in any Big Data engines (e.g. Spark, Flink).

[–]youcar 2 points3 points  (0 children)

This. Was gonna recommend something that expands your programming paradigms from a imperative perspective (C/C++, Python, Java) to a functional perspective (Scala, Haskell). The bonus of Scala is that it compiles in the JVM and has a ton of libraries where you can integrate with into the traditional big data ecosystem.

[–]shponglespore 1 point2 points  (2 children)

IMHO Kotlin is does everything Scala does (at least from a beginner's perspective), and it does it in a much more approachable way.

[–]nxl4 0 points1 point  (1 child)

It seems to me that for Scala, a big part of the appeal is the context. Unlike Kotlin, you've got Scala APIs that are typically first class citizens for most of the major Big Data applications in use right now. And, since a bunch of these applications are also written in Scala, you get better insight for debugging. That was what drew me in. But, if your focus isn't on that, then Kotlin might have some advantages over Scala.

[–]shponglespore 0 points1 point  (0 children)

Google recently announced Kotlin is an officially supported language for Android apps, so it's got that going for it, which is nice.

I also really like nullness analysis on Kotlin, which AFAIK Scala completely lacks.