When it comes to Android app development, the first thing most programmers think of is the Kotlin language. Since 2019, Google calls it the main android development language. Everything would be fine, but no one has abandoned the Java language, and this has created confusion among programmers. As much as Google executives idealize young Kotlin, 2018 Stack Overflow surveys show that nearly half of respondents favor the old and tried-and-true Java. Kotlin is prioritized by only 5% of developers.
Why Kotlin and Java are popular
Java is the third most popular programming language. It is second only to Python and C. In the same ranking, Kotlin is only 37th place. This suggests that most developers are in no hurry to switch from familiar Java to the new Kotlin.
Reasons for the popularity of Java. The Java language was created at Sun Microsystems in the early 1990s. This language appeared in response to the need for platform independence. Java became a general-purpose language that could be used to write programs for any device: PCs, appliances and mobile devices. This feature of the language, along with simplicity of syntax and strong typing, almost immediately won the hearts of many programmers. Today the majority of corporate projects and web-sites are written with help from Java, and the audience of the language counts more than 10 million programmers.
Kotlin Perspectives. Kotlin is still a very young language, born at JetBrains in 2011. Like Java, C++ and C, Kotlin is a statically typed language. This allows it to check data types in the program at compile time and detect errors in time. That is, if the compiler notices a violation of the language rules, the program is simply not executed. But the main feature of Kotlin is that the language is fully compatible with Java, which allows you not to rewrite existing applications. This is exactly what won over programmers at Google.
Google developers have watched the language grow over the past few years and find it more concise. In their opinion, it opens more opportunities than Java and the program code in it is 40% shorter than in other languages.
Java was created to replace C++, but soon developers found it rather strict and conservative. Kotlin is a revolt against the established rules, simplicity, freedom and security.
Where Java is used
Since Java is a general-purpose language, it can be used everywhere from web sites to robotics medicine. Let’s look at the areas of its application in more detail.
- Android development. Java has long been actively promoted by Google as the most convenient and efficient language for Android programming. Therefore, the majority of applications for this operating system are written in this language.
- Cloud projects. The global IT market is experiencing a rapid migration to cloud storage. Everything – from company data to entire services – is being migrated. According to a poll of IT specialists by Cloud Foundry Foundation, 58% of specialists use Java to develop corporate cloud applications and services.
- Virtual reality. Virtual and augmented reality are trends that have been rapidly gaining momentum in the last ten years. Java is one of the languages in which many VR/AR applications are written.
- The Big Data field. Although Python and R are more popular when working with big data, but there is a use for Java. The language even has a number of libraries and frameworks specifically designed to work with Big Data. The main ones are: Java Machine Learning Library, Weka and JSAT.
- Unmanned Cars. Unmanned cars are a modern trend. It’s beautiful, safe, and convenient. But to create a really safe car, you have to work on a lot of tiny details. It is important that the program detects the type of object, the distance to it and its condition. And the Java language is used as one of the main languages in development.
- The space industry. NASA is one of the space companies which uses Java in its developments. It used World Wind, which allows you to zoom in on any part of the Earth and examine it in detail.
Where Kotlin is used
Kotlin is used to write multiplatform programs, in mobile, web and backend development.
- Web development. The language provides compilation with JavaScript and tools for working with HTML and CSS. You can use not only the tools of the language itself, but also libraries for JavaScript in your work.
- Backend development. For backend development, there is a compilation of Kotlin with Java, although the languages are compatible separately. But as surveys and studies show, few developers write backend applications in Kotlin – in this matter, most people are more accustomed to Java.
- Cross-platform development. It turns out that Kotlin isn’t just about Android. Kotlin multiplatform is a toolkit that allows you to write generic code, and compile it with bytecode for android or iOS. You can also connect this code as a library to native apps.