Will Google abandon Java?
The infamous Google VS. Oracle lawsuit over Java was started in 2010, and the battle has been going on for 6 years already. Another trial (arguably the most important one) is scheduled for May 16, 2016. This time, Oracle seeks $ 9.3 billion for Google’s unauthorized use of Java APIs in mobile application development.
The conflict has received extensive media coverage. Most IT experts agree the lawsuit is likely to ruin Java’s legacy and slow down its further development. Google added fuel to the flames and confirmed the next version of Android would use open-source JDK for Java APIs.
Ever since, we’ve been wondering what the future of Android would look like. Will Google eventually switch to Go or Dart? Is there a chance to settle the dispute in a peaceful way?
Both scenarios are possible, so we need to weigh the arguments in favor and against Java-free Android.
Android future plans: 3 reasons to move away from Java
· Oracle wants too much. The Java programming language was originally developed by Sun Microsystems and released to the market in 1995. It was a huge success. For the first time in history, developers were able to create highly scalable, platform-independent and reliable solutions for the Web. In the early 00’s, the company decided to focus on enterprise apps and almost gave up on desktop software. The company welcomed Google’s decision to use Java for Android and never sought contribution. The total inability (or reluctance) to monetize its assets led to Sun’s acquisition by Oracle for $ 7.4 billion. Let’s face the uncomfortable truth: Android is one of the reasons why Java remains the most popular programming language in the world. Sure, Google did use the structure, sequence and organization of Java APIs, and Oracle has every right to defend their interests in court. But $ 9.3 billion is a lot more than the Java APIs — and the whole Sun company — were worth;
· Independence. Microsoft owns C#. Apple owns Objective-C and Swift. What about Google? Well, there is Go, of course, but the language tries too hard to be more like C and subsequently ignores the major advances in programming. Rumor has it Google is working on a high performance Dart-based framework for Android. Dart was designed to increase the speed of Java app development and can be distributed as compiled code. Some tech bloggers even think the language might replace Java, but it looks like Google will use Dart as a background for Sky — a super-fast programming language (120 frames per second) running on several operating systems from within Chrome;
· Java’s uncertain future. Don’t get us wrong — Java has a lot of updates and cool features up its sleeve, including JDK independent modules and IoT solutions. Still, neither George Saab (Oracle’s VP of development) nor IT experts dare to forecast Java’s future. It could be the Internet of Things — as long as Artificial Intelligence solutions go mainstream (enabling companies to analyze IoT-generated data & use it for business purposes). It could be enterprise applications (after all, Oracle has successfully solved a good share of Java security issues). It could even be desktop. However, everything depends on the outcome of the Android lawsuit. Google’s moving away to Sky or Dart would lead to a drastic drop in Java’s popularity. The language surely had its ups and downs; will it survive another crash?
Why stick to Java?
· Too much trouble (and rewriting). Ok, Android’s next version will include OpenJDK. It’s open-source, it’s free, anyone can use it. But Oracle’s influence stretches far beyond the standard Java APIs. According to Ed Bott (ZDNet), the company has means to control the open source code, too. Also, the OpenJDK is pretty much different from Android’s implementation of the language. Even with the open-source code, the latest version of Android will most likely face major compatibility problems (not to mention probable delays). And what if Google decides to use Dart? Android currently powers 82.6% of smartphones out there, and Google won’t be able to update the existing software. And yes, there’s 9+ million mobile app developers — these guys will have to learn & master a completely new programming language;
· Java is perfect for IoT. 2016 is the year when the Internet of Things (or even the Internet of Everything) is finally going to happen. The number of connected devices is expected to reach 6.4 billion units worldwide. In less than 8 months 43% of enterprises will adopt IoT solutions. And if we’re talking about enterprises, we’re bound to mention Java (after all, 64% of companies run Java applications). Gartner also claims the demand for mobile enterprise apps will soon exceed development capacities by 500%. B 2020, 84.6% of smartphones will use Android. We’re not trying to impress you with some random stats. Google has already shown considerable interest in IoT (remember the Google Glass, cloud solutions and the Eddystone beacon?). To let go of Java — a mature programming language that is capable of joining IoT parts together — would be a huge step backwards;
· Java is still cool. Articles about the inevitable death of Java have been circulating around the Web since the mid-00s. Some bloggers even claimed Java was the dead-end for enterprise solutions, citing code complexity and Oracle’s lack of innovation as the key reasons to abandon the language. The truth is, Java remains the only choice when it comes to scalability. The language is equally popular with Fortune 500 companies (the clumsy giants who don’t welcome changes) and fast-growing businesses like Twitter (originally built with Ruby), Netfix and Square.
If you consider building an Android app, you’d better find a reliable vendor who follows mobile software development trends; who knows what’s going to happen next?
Personally I agree with Andreas Gal (former chief technology officer at Mozilla) who thinks it’s a win-win situation for Oracle. Even if judges rule in favor of Google and the company successfully launches Android N, Oracle will have an incredible technology influence on the most popular smartphone ecosystem out there.
What do you think?