Hey, this is the Daily Overpass, my name is Eric and I make apps!
Now today, let's talk about Java or Kotlin for Android development!
Ok, so a couple of days ago on episode 351 we got a question from Abhi Bhardwaj who says
"Hey Eric, next video topic - kotlin vs java for people new to android development.
Cheers man!"
Abhi, I hate to say this but I am not a real developer because I don't know kotlin, I've
never bothered to learn it!
I know when it came out, I remember seeing it at the Google IO a couple of years ago
saying this new language kotlin is so much better, and I just thought I didn't really
have a java problem.
I'm comfortable with java.
I mean, java is not my first language.
I think if I have to choose my favourite language it would be javascript or C sharp.
C sharp was something I just loved coding in.
So then we started doing web stuff and I moved into jQuery, and started doing a lot more
client stuff I really loved using javascript, and I still do and if I have to do any kind
of programming, especially little tools and stuff like that, like a process that does
some uploads or something like that, I'll write it in node because I really like using
that and I love the fact that the language is portable.
But I've also been reading a lot lately on Dart, which again, I don't know much about
yet, but every time I start looking at it I think...am I getting too old to learn a
new language?
I think that's what I'm thinking about!
But one of the things that Dart has over javascript is that it's compiled and there's all these
reasons why dart is better than javascript for certain things, like for using flutter
and everything like that.
So the reason I've never learnt Kotlin is because I don't really have a need to learn
Kotlin.
I'm cool with Java!
Java to me, unless somebody tells me a reason why Kotlin is better, I'm sticking with Java,
just because I know there's more Java opportunities out there.
I know if a client comes to me with an Android project, it's probably gonna be in Java.
It's much more similar to javascript, the way the syntax looks and everything.
The same way when Swift came out, then I was like totally on board with Swift because I
hate using Objective C. I think I'm just too stupid for Objective C. Every time I look
at it I just feel like I'm in way over my head!
So if I have to do anything on iOS native, then I prefer to do it in Swift if I can.
But I would love to hear from anybody out there who's using Kotlin and what are the
benefits and how you're finding using it, because one of the things is - languages do
get older.
Like, some things stick around for ages like C++ and everything like that, but you don't
find that many C++ developers...I suppose they work a lot on hardware and stuff like
that, but not too much.
But PHP, PHP is a language that is old old, Java's a language that is old!
There's new things that have come on and if you're looking at getting jobs in software
and everything, I'd be looking at which one of these do you think is gonna catch on the
quickest.
And sometimes I will learn a language just because of the framework it's in.
So, Lua was a language that a prefer not to use Lua, I would never use it for anything
outside of Corona sdk, but because I was learning Corona, I learnt all the Lua functions and
everything like that too.
But I'm not one of these people who says "oh, Lua is such a good language, it's so beautiful!",
I hate using it.
Sometimes other frameworks like, i wasn't big on Angular on the web, but with the ionic
framework that's when I started learning how Angular works and really started getting into
all that kind of stuff, because the framework was so good that it lured me in!
Another one is ruby on rails.
Ruby is a language that...and it's all personal preference, so when I say I prefer the curly
brackets, I prefer semi-colons at the end of every line, that kind of stuff, that's
just me because it's easier to jump from one language to another but with Ruby, I didn't
like the way the indentions were used, I didn't like all that kind of stuff.
But some people just love using it.
You've got something like CoffeeScript which looks a lot more like Ruby.
And you've got things like typescript which takes JavaScript to the next level and it
also does transpiling and everything like that.
Transplicing...yes transpiling...I can't remember the term.
But you know, where it takes the typescript and converts it into JavaScript, blah blah
blah.
There's lots of different language versions out there.
I think if you're starting out, I would say look into Kotlin.
There's so many Java developers out there that if you get really good at Kotlin and
there were job opportunities that came up, then you might have a niche there, where you
wouldn't be competing with somebody who's like 55 who's been using Java for the last
30 years.
You would be new to Kotlin.
That might be something that you could use.
That's just me.
I think that if it's new, there's a reason they come out with a new language is because
there's something wrong with the old one, or they're easier, or you can do more with
them and as more APIs and stuff come out, using languages like - and it seems like Google
comes out with a lot of them - using things like Go or Dart or Kotlin, all of them I've
never bothered to learn.
I look at them thinking "yeah, those are more for young people, I'm getting too long...".
Maybe it's just, I'm not.
So anyway I know I'm rambling on a little bit today Abhi, i don't really know.
I would say if you were gonna start out, start off with Kotlin.
There's a reason that Google wants to push you in that direction and you might as well
get really really good at it, because you could probably fall back to java pretty easily
I'd imagine.
That's just my opinion.
What do you guys think?
If you're starting out an android development, for those of you seasoned developers out there
who have been doing this for a while, if you were just starting off, would you invite somebody
to go with Java or with Kotlin?
So anyway those are my thoughts for today!
That's it for today, I'll talk to you guys again tomorrow!