DEV Community

Android == Java but Java != Android

Glenn Carremans on March 13, 2019

Maybe a strange title but let me give a small explanation. Btw I know there is also Kotlin but I am leaving it out of this, only talking about Andr...
Collapse
 
frothandjava profile image
Scot McSweeney-Roberts • Edited

The problem then becomes "why stop at Android"? Why not split Spring off? Why not split JEE or Swing off? Java is a very, very broad church and you would end up with several Java/X options.

I can see an argument that you're not running Android apps on a JVM so it's different. But running Java code on something other than a JVM isn't unique to Android.

Collapse
 
glennmen profile image
Glenn Carremans

True good point. Another approach would that if you select Java (or an other language, like Ruby), that you then get a more advanced sub selection: Android, Spring, ...
This is what I was missing in most surveys that I have done, I want to be able to compare Android Java popularity compared to other languages. To me these kind of results would be very interesting.

Collapse
 
sudiukil profile image
Quentin Sonrel • Edited

That's kinda true for most languages though. It's the same for web development and frameworks. Rails == Ruby but Ruby != Rails. Angular == JS but JS != Angular. But still, the language is the language, you either code in Java or you don't. And in your case, you do.

Lots of survey results have Java as one of the biggest programming languages but in my opinion this is only because Android is a big part of it.

I wouldn't be so sure about that. First of all because a not so negligible part of Android development isn't done in Java. There is also Kotlin and C++ for native development and alternatives like Flutter, React Native, etc... And besides the whole Android deal, there is A LOT of Java in a lot of other domains. Java is everywhere, from embedded devices to web apps.

Collapse
 
glennmen profile image
Glenn Carremans

Good point!
Maybe surveys should have better options to select frameworks after choosing a language, that is what I missed (in the surveys that I did).

Collapse
 
iuriimednikov profile image
Yuri Mednikov

Hi, my opinion may appear strange and unpopular, but this is what it is. Java is popular due to a high number of Java programmers. There is a some belief, that knowledge of Java helps you to earn more, as this language is associated with banking, finance and so one. This is partly true, as many these companies in 90s-2000s started with Sun/Oracle technologies and now there is a great number of legacy Java systems that could not be abandoned just at once, as they have crucial functionality. So there is a demand for Java developers. And people associate: Java == high salary -> let's learn Java!!!. Of course, this is not 100% correct, that is why it is a belief

So this is WHY (in my opinion) Java leads in rankings and polls, not because of Android. I don't believe, that if tomorrow, Android would switch to - let assume - Haskell (it is just an EXAMPLE :) ) - Java would drop out of rankings. Of course, no.

I could agree to certain degree, that "Android/Java" option could work. C# is used for Unity, NET, Xamarin and Windows apps development, but these things are literally different, even one language is used.

Collapse
 
glennmen profile image
Glenn Carremans

Thanks for your opinion!
I think I misjudged how many legacy Java (and new) projects are still being developed. And your point about that many devs learn Java because of the higher salary is also interesting, I never looked at the salary of a programming language as a reason to learn it. I learn a language because I am interested in it or because I have a project for it that might work better in X language.

I think my overall conclusion from the responses here is that surveys should split the main languages up more so that the results would give a more interesting result.
Java -> (Sub selection) Android, Spring, ... And same for Ruby, PHP, ...
This is ofcourse more complex for dev survey creators but we work in a complex field 😉

Collapse
 
ondrejs profile image
Ondrej

Well, you're kinda right. I still do think that there's a good reason to use Java or Kotlin for Android development because most of open-source dependencies for Android projects are for JVM languages. But that's only my 2 cents, of course there's lot of another possibilities (e.g. Flutter, React Native, or C#).
At the end, it's only up to you :)

Collapse
 
glennmen profile image
Glenn Carremans

I think you kinda missed the point of the discussion 😉I use Java almost everyday for my Android development.
I am talking about that surveys imo don't give a clear option to select Android as an option (language and/or framework), I only see Java and I don't think that I am Java developer but an Android developer.

Collapse
 
ondrejs profile image
Ondrej • Edited

Yes, sorry, I have completely missed the point; I have a (bad) tendency to look at the title and then react, but I'll read the whole articles to details, I promise. Also I 100% agree with you (I was also an Android developer for some time).