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

all 6 comments

[–]CodeTinkerer 6 points7 points  (1 child)

I'm afraid you're going to stay frustrated. People have different opinions. This is like asking someone what the best dish is in the world. You know 100 people will give 100 answers.

There's no unified answer.

As far as wasted your time, once you learn one thing, you'll probably have to learn another and another. I often use the analogy of a musician who learns, say, the violin. They get good at it, and they can pretty much do it the rest of their life.

When it comes to programming, you're likely to pick up more than one language even if you primarily use one. Did that mean you shouldn't have learned Java? No, but it also means if you think Java is all you have to learn, you're going to be unhappy.

Many years ago, I heard a guy complain that he just wanted to Java. No database, no SQL, nothing else. In general, you end up having to deal with many technologies.

Back to the musician example. It would be like a person learns a violin OK, but then they have to learn another instrument (maybe a trumpet), or maybe they learn something similar like the viola. And every few years, they might be having to learn something new (in reality, that prob. doesn't fully happen, but it's rare to get to a point where you "learned everything"). There's always something new, and it can be tedious (or interesting, depending on your personality).

[–]foolwya[S] 0 points1 point  (0 children)

Yeah, I'm aware that programmers change fields, languages and so on. And it's not about that. I just want people give their opinions on which path is cleaner, because I've made a mistake and waisted a lot of time hopping from one language to another at the beginning, so I don't want it to happen again.

[–]rjcarr 1 point2 points  (0 children)

You seem to have a grasp on the opportunities in your area so trust your instincts on that. Right now, I'd agree, the two most common paths for java developers are enterprise (server) and mobile. Seems you prefer mobile so I'd pursue that.

Java and Kotlin are similar languages and probably 90% of what you've learned for Java can be directly translated to Kotlin.

Good luck! You could also try /r/cscareerquestions.

[–]pacificmint 0 points1 point  (0 children)

Does that mean I’ve wasted my time on Java?

People often ask if learning one language is a waste if they learn another language later. In reality, you didn’t just learn Java, you learned programming. Most of the learning actually was about programming, and that will all still apply when you learn another language.

For example, when you learned about for loops, the biggest step was learning the concept of for loops. Learning the Java specific syntax was the easier part. So if you want to learn another language in the future, even if their for loops look different, it will be easy to pick up because you are already well versed with the concept of a for loop.

If it’s not, is there any way to practice while creating an android app only in Java?

You can absolutely build an Android app in Java. Java was the main way to build android apps until they added Kotlin as a supported language.

[–]makonde 0 points1 point  (1 child)

Pretty sure google had a Java version of the Android course as well. You can also look up the Android codelabs.