Fifteen years ago if you had to whip up some industrial strength tools from scratch there’s a good chance you’d have chosen C as your language. These days, there’s a much better chance you’d choose Java.
You can see this effect in the tooling for Flash and Apollo. Flash and Apollo are themselves both written in C++ and ActionScript. To create an ActionScript 3 application, however, you can’t avoid going through Java. Here are four examples:
- You’ll be writing some ActionScript 3 code. That’s compiled to bytecode using a compiler written in–Java.
- You might be using Flex. The Flex compilers (mxmlc and compc) are also Java wrappers around the underlying ActionScript 3 compiler. There are even Ant tasks for Flex on Adobe Labs.
- If you use the Flex Builder IDE, you’ll note it’s a Java application written on the Eclipse platform. (You even have the option of installing it as a plugin to an existing Eclipse install–some Apollo engineers run it this way.)
- If you’re creating an Apollo application then you need to package it in an AIR file for delivery. Packaging is done via “adt”, a little tool written in–yes, Java.
No doubt there’s more than one reason for this, and the simple fact that Java is now often the teaching language for first-year computer science courses may account for a lot of it. But I also think it’s got a lot to do with the fact that Java is a surprisingly good systems programming language–which is exactly what C was designed to be.
Java may not have thrived in its intended markets, but it has found a niche in a lot of developer’s toolboxes.