I want to learn mobile dev (it appeals to me more than other forms of programming). However, just from casual research, I can tell the demand for Java positions is way more than Kotlin.
If my end goal is to learn a language in order to be a Jr dev and join the industry, which one should I learn?
I'm thinking about using Kotlin + Spring Boot for my next project, but the level of love for Kotlin and bashing on Java makes me feel a culty vibe. I'd just like to hear some counter points.
Videos
Hello. Currently i know C. And i want to get into Android development, should i learn Kotlin or Java?
First go for Java, then move to Kotlin.
I actually think you should try Kotlin. One problem with trying to learn Android development with Java is that a large number of the examples, tutorials etc you find online will be old. You'll be battling problems with old frameworks, deprecated classes etc., even the Android Studio versions you will be dealing with often will look completely different. You're better off using Kotlin where the examples etc will be closer to what you'll encounter. It's a real pain checking the date of everything and then trying to search again with slightly different search terms to find something "fresher" every time you need to find something
Hi everyone, I've been searching the last features in java and it seems that Kotlin has become so popular and it has made Java improve. So, what do you think about using kotlin for backend? What do you think about the last features implemented in java 19? Well everything from java 8 until java 19.
I have the feeling that everywhere people are saying that you should learn Kotlin because is going to replace Java, but I am not sure if this is right. Also because as I said I feel that java is picking up features from kotlin and even improving them. What Kotlin has to offer? Besides readability as I heard.
Ps: I don't mind learning a new jvm language, but I would like to know your opinions :)
Java has borrowed some but definitely not all of Kotlin's features. To me the most important distinction is (non-)nullable types, something I don't think Java could ever effectively replicate.
I also feel the two represent different styles and idioms, and both are valid. You can write Java-like Kotlin and vice versa if you really want to, but most people don't from what I've seen. I do prefer Kotlin still for being generally more explicit and especially for relying much less on reflection.
Java isn’t going anywhere, but kotlin is a much better language even with all the new stuff Java has added. Java will never improve their functional stream handling for example. And nullability will most likely always be a problem. Kotlin’s smart casting won’t ever happen in Java. Etc etc. there are many kotlin features that just won’t get implemented in Java or if they do then they still won’t be as clean or easy to read.
As you all know this will remain a question for several more years. I myself started with Java long before I started with android and thought I could combo them. Then Google said Kotlin will be the way forward. In your opinion should I just dig in and go over to Kotlin in 2022? I got myself a training course on this so I just want to know what all you think before i commit. thanks. I saw the Title was wrong yea English is NOT my first language i tend to spot mistakes well after it goes live.
Considering 62% of devs love Kotlin, but only 44% love Java, I'd definitely suggest you use Kotlin instead.
The developer experience is extremely important. Some languages will leave you racking your head to solve simple tasks, whereas others will allow you to solve them in a single line of code.
The JVM is a good platform. Java is not a good language (at least not anymore, given the options), unfortunately. Go for Kotlin. It'll be Marvelous. Plus, if you need to use Java, you still can, cuz Kotlin has great interop with Java.
Hey Guys, I don't have much android dev experience and worked with react native for a week. I want to kotlin since its more "complete" an not just a library, I think. I don't know what a JVM is or Spring boot or any of the other stacks. So, I wanted some guidance on how I should start android dev and what to focus on to become a complete android developer.
Thank you.
I don't expect a direct answer to the question in the title; rather I would like to get some thoughts from the comunity.
I always prefer Kotlin when searching for a job, but now I need to choose Java vs Kotlin for a new project, and I have the following concerns:
-
Hiring. Finding a good Kotlin programmer is harder than finding a Java one, Also I had a negative past experience, my ex-coworkers on a Kotlin project held high positions (Senior, CTO) but the code quality was the worst I've ever seen. Kotlin's cool features seemed to give them ability to write even more shitty code than they been able to write in Java.
-
Future. Java keeps adding more features, and while it still lags behind Kotlin, it becomes harder to convince Java-dev to try Kotlin. And I've found that Java already has enough to be comfortable.
So Java looks like prefereable option. However, when I wrote several classes using Java, they looked like this:
@AllArgsConstructor // Lombok
@Getter
public class User {
private final String id;
private @Nullable String email; // NullAway brings null-checks like in Kotlin
}I realized that this is actually Kotlin code but with annotations instead of language keyword... Like an ugly version of Kotlin, like what's the point to use the ugly version of Kotlin instead of normal Kotlin?
From this perspective, word "Java" in job description would look like manipulation to attract Java devs.
So this thought brought me here.
A few weeks back I started looking into Android development, after about 11 years of writing desktop applications in Java. Of course, this meant learning about Kotlin, so I went down that rabbit hole as as side-trip.
I've always been a big fan of the new features added to Java since Java 8, and Streams and Lambdas have completely changed my programming style. I didn't realize how kludgy all these new concepts felt in Java until I started learning Kotlin. Woa!
I wanted to capture and share my impressions about how much better Kotlin is than Java while the wonderment was still fresh. So while I'm still a Kotlin neophyte, and barely qualified to talk about it, I think my initial ideas would probably resonate with other experienced Java programmers wondering about taking the plunge.
So, here you go: Kotlin - Should You?
Have a read, if you like, and let me know how much I got wrong.
I love Kotlin and would also recommend any Java developer give it a try, and I think your article was generally on target. My only worry about the article was:
What Are the Downsides to Using Kotlin? From a technical perspective, there are none.
It's always a bit of a yellow flag when someone proposes something and says there are no downsides!
I think the biggest obvious downside is: will Kotlin still be popular and supported in 10 years? (or 20, or whatever your long-term planning horizon is.) Java is almost guaranteed to go the distance; it is the classic Too Big To Fail. Kotlin is much newer on the scene and I think folks could legitimately be worried.
Now, that said, I think there are good reasons to believe that Kotlin will be around & supported for the long run: Google's promotion of Kotlin for Android is a big deal, server-side adoption seems to be slowly but steadily increasing, Spring has adopted it as a first-class language, etc. So, there are ways to address a concern like this, but I think your advocacy might be more persuasive if you could find some downsides and address them!
Sounds pretty solid, although the smaller community that exists for Kotlin seems like a downside that should be mentioned.
In my organization, we switch between Java and kotlin quite frequently for backend development. We use the spring framework which works quite well with both languages. I wanted to know how the broader Java community felt about kotlin? Personally I love it, however Java is still used so widely so I continue to keep my skills up to date on it.
I am interested in Android development and is wondering if I should learn Java or Kotlin or if they are the same thing.
I have been developing android applications in java for a very long time. It is now just like now in my nature using java. Am I loosing something not using kotlin or will it be worth time giving or java is fine?
I am actually not willing to shift to kotlin and just stay in java, I don't know why?
I just completed udacity's android basic by google nanodegree program. This course was in java. I'm planning to enroll in developing android app course which too is in java. So should i switch to kotlin or continue with this cousre??
Link of nanodegree i completed https://www.udacity.com/course/android-basics-nanodegree-by-google--nd803 .
Many kotlin features just won’t get implemented in Java; if they do, they still won’t be as clean or easy to read.
Someone wrote this list and I agree. Does Java 21 have these features?
-
null-safety
-
extension functions
-
more compact and readable code
-
multiplatform development (here suspend functions are very important for platform independent asynchronous operations)
-
almost everything is an expression
-
more functional style (with proper higher order functions)
-
better stdlib
-
mutable captured variables in lambda expressions
-
top-level functions
-
better type inference
im a android native student and i have a doubt, which language is more sought, java or kotlin?
Genuinely curious here, not trying to rage-bait.
Java was my first language, and I'll always have a soft spot for it.
But, as a professional Android developer, I can't think of a single thing that Java does that Kotlin can't do (and more simply)
Honestly want to know what I'm overlooking, because I know it must have is advantages. Otherwise it wouldn't be so popular still.
Can one of you Java-gurus enlighten me on what I'm overlooking? I know it wouldn't be so popular without reason
I'm not talking about legacy code, because that's different. I wanna know why people are still building new projects with Java instead of Kotlin!
Hi, I've been searching the last features in java and it seems that Kotlin has become so popular and it has made Java improve. So, what do you think about using kotlin for backend? What do you think about the last features implemented in java 19?
I have the feeling that everywhere people are saying that you should learn Kotlin because is going to replace Java, but I am not sure if this is right. Also because as I said I feel that java is picking up features from kotlin and even improving them.
Which is more worth to learn?
Kotlin, that was already the same answer in 2022, which was the same answer as in 2021, which was the same answer as 2020, which was the same... You get the point.
Ever since 2017 and Google announcing Kotlin would be the official language for android Dev, this answer was obvious on short term, even more 6 years later.
Both. Just use Kotlin as the default. Java is for special cases, such as using various libraries, framework source code, overcoming some Kotlin obstacles...