About Core Java
Java is a highly portable language as it must be executed through a cross-platform compatible Java Virtual Machine (JVM). Further more, Android apps are also developed using Java since the Android Operating System runs on a Java language environment.
Generally, Java was designed to be relatively beginner-friendly in that it assumes the programmer is not that smart or careful, so programmers will be less likely to shoot themselves in the foot when coding Java apps.
Relatively Simple to Use
Java is a high level language, which means Java abstracts away (i.e. handles for you) most of the complex details of the machine (computer) such as memory management, etc. Thus, you can focus on programming instead of worrying about the little details many consider both tedious and difficult.
Less Rewarding from the Start
Java is very stubborn and verbose, which means you need to write a lot of code trying to convince the language to build some feature. Thus, you may need to spend a lot of time coding before you can get a working app. This may be demotivating for coding beginners.
Easier to Maintain
Java is a statically-typed language, which means your code will have to be checked for errors before it can be built into an app. This means errors will be easier to track down. Furthermore, since statically-typed languages are also more strict with the definitions of things, you will have less strange and unexpected errors, which means your codebase will be easier to maintain as it grows in size and complexity.
As a statically typed language, Java is faster than dynamically typed languages because things are more clearly defined. Thus, when the app is running, your machine's resources will not be wasted on checking the definition of something in your code.
Modern Java programs are now even more performant thanks to mature JIT (just in time) compilers and improved JVMs, as performance can be optimized in real time to help a Java program run faster. This is very helpful as your app grows larger or needs to handle more processes.
Community size is important because the larger a programming language community is, the more support you'd be likely to get. As you step into the programming world, you'll soon understand how vital support is, as the developer community is all about giving and receiving help. Moreover, the larger a community, the more people will be building useful tools to make development in that particular language easier.
As of now, there are over 600 notable programming languages world-wide. So, with that context in mind, let's get into the details of the Java community size.
2nd Largest StackOverflow Community
StackOverflow is a programming Q&A site you will no doubt become intimate with as a coding beginner. Java has a huge community for both back-end web development and Android development.
4th Largest Meetup Community
At meetups, you can generally network and learn from fellow developers. Meetups often offer mentorship to those who want it as well. There are over 1.4k Java Meetup groups, totaling over 580k members worldwide. In terms of programming languages, Java has the 4th largest meetup community.
2nd Most-tagged Language at GitHub
In general, the Java ecosystem is quite massive and mature, so there are plenty of good tools and libraries that will greatly ease the process of developing Java apps and learning Java in general.