Java is the New C

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:

  1. You’ll be writing some ActionScript 3 code. That’s compiled to bytecode using a compiler written in–Java.
  2. 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.
  3. 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.)
  4. 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.

3 Responses to Java is the New C

  1. barry.b says:

    trouble is, for all my knocking of things Microsoft, I actually prefer C# over Java for code writing (with a nod to the fact it won’t run on my Mac…).just simple things do it for me: packaging multiple classes in the same file to help group related things together, having explicit set() and get(), not rely on convention, etc.mind you, C# was an also-ran in introducing generics, which goes to show a bit of competition ain’t a bad my 2c.

  2. StoneCypher says:

    Java is the new C in that it’s got a steadily eroding programmer base, very little respect in comparison to more powerful languages, no significant quality compiler or language development going on (though some silly extensions have been made to the standard to make it look active,) inferior portable machine specification to C++, and a huge litany of disenfranchised engineers reeling from the loss of several years involved in the language, drying desperately to make Java into the new Black, hoping that if enough people listen to them, life will be blown back into their burnt out lifeless husk of a language, saving their aging desperation to be engineers from damaging their egos by making claims like “Java is a surprisingly good systems programming language.”Systems programming languages need to be able to develop systems. If you can’t write an OS in it, it’s not a systems programming language. If you’re going to try to write an operating system which requires being run inside a virtual machine which itself is fundamentally dependant on an operating system…… well, just remind me not to hire you.

  3. rChaox says:

    @StoneCypherAre you taking classes on creative writing or are you frustrated because you got fired; as you never cared to learn Java and thats what your replacement might be brewing ???!!!