What is the advantages of learning java over C++? Is there anything java can do while C++ cannot? If I want to do something like software engineering in computers and phones, which language should I learn?
You should start with Java, it is an easier language to learn. Both languages are "high level" and both have their advantages and hurdles.
Android devices run java for apps. So there's the benefit of being able to write your own apps.
IMO, Java is a better language to start with. In many ways, Java's syntax seems like C++ version 2. C++, because it compiles to machine code instead of byte code (Java) is much faster executing, and can solve some problems that Java is just too slow to do.
Is it true that less people use C++ to write android apps that will make it less support in writing android apps in C++?
The native code to Android is done in a combination of C and C++. Unless they abandon that, which they won't, the C++ apps support will remain. They have the native development kit out there for a reason. In general, C++ can do more than Java. However, it also takes more. Also, where is the more at? The things that C++ does that Java does not do are related to things that the average developer is not doing when writing a small application. That is part of what has made Java popular. They left out things that most people do not use so they could focus more on the things people do use.
Join our real-time social learning platform and learn together with your friends!