Intel has just launched a C++ compiler for Android that compiles C++ source code and generates Android compatible bytecode. It isn’t the first C++ compiler to do it: The c4droid C++ compiler and IDE is available in Google Play for a few dollars, and the Android Developer Tools (ATD) plugin for the Eclipse IDE includes support for compiling code written in C or C++. It is, however, the only Intel C++ development tool that’s completely free for developers.
Intel’s C++ development systems normally cost several hundred dollars. But since the company’s pretty new the mobile development arena, it’s likely using this free release to test the waters. In the FAQ it says “for this introductory release only, the compiler is free for a limited time.” The good news: the company plans to replace this release with a new set of products, but hasn’t yet announced future product plans. So, the compiler will likely continue to be free for at least a few months.
Before you rush off and start downloading the 46 MB tar file, be aware that the compiler only runs on Ubuntu 10.04 or 11.04. Strangely, it doesn’t work on Ubuntu 12.04 LTS. I tried it, and it failed to install with an unsupported OS error message. You should also know that it’s just a command line compiler/linker, not a full IDE and it can only produce bytecode for Android devices powered by an Intel processor running Android Jelly Bean or Ice Cream Sandwich. Check Intel’s site to find out which phones have Intel inside.
Intel Android Phones
Intel has been fighting with its chips against a market dominated by ARM. A couple of years ago its market share was only around 6 to 7 percent. However, it looks like Samsung will switch from ARM to Intel processors for the next Galaxy Tab.
Encouraging app development specific to Androids with Intel processors will of course help Intel and they are to be lauded for this initiative, though I feel they could do more. Many developers are small one-man outfits and a low cost development system would go down well. For Java developers the cost of developing for Android is zero, so if Intel want to effectively attract C++ developers, it will need to keep the cost down.
C++ for Games and Performance
Although Android apps are written in Java, some have native code written in C or C++ for higher performance in games. The native code is tied to the underlying CPU, so most apps that have it are ARM based and wont run on an Intel Android.
It’s been possible to develop an Android game completely in C++ without a line of code using the Android NDK since NDK 5 in 2010, so I’m guessing Intel’s compiler makes it possible on their Android phones.
Android development has been plagued by fragmentation. Developers have to write code to run on different versions of Android and this will increase that fragmentation.
Veteran CPU company MIPS, now owned by Imagination Tech, is also looking to move into the Android market with its “Warrior” MIPS CPU. The MIPS CPU is a closer design to ARM, as both are RISC chips (compared to Intel’s CISC architecture.) But even with that similarity, if the MIPS chip family is licensed for use in Android, we can expect to see even further fragmentation of the Android user-base.