QCon: Application development faces seismic shift

19.06.2012
In much the same way that Java replaced C++ 15 years ago as the dominant programming language for enterprise software, Web development technologies such as HTML5, JavaScript and others might supplant traditional programming languages today, according to an Oracle software executive.

The reason for the shift is that new Web development technologies better fit today's mobile platforms, said Cameron Purdy, vice president of development for Oracle, at the QCon software conference in New York Tuesday.

"HTML5 and JavaScript together are becoming a programming platform onto themselves," Purdy said. "We haven't seen this magnitude of change in 15 years, since the Web came into public existence," Purdy said. Their growing popularity may be "quite analogous to what we saw with Java in 1996."

To boost his argument, Purdy examined the reasons behind Java's rise in popularity in the mid-1990s, when C++ was then the dominant programming language for building enterprise applications.

Many have attributed the rapid success of Java to the efforts of the company that created it, Sun Microsystems, but this wasn't strictly the case, Purdy argued. "Java wasn't big because it was well-marketed ... Sun couldn't market its way out of a paper bag," he said. (Oracle now owns the trademarks to Java.) Rather, Java grew in popularity because it best fit the needs of the developers at the time. "There were real technical reasons that Java was important," he said.

At the time, Java simplified programming in a number of ways. It automated garbage collection, the act of freeing up memory that is no longer used. Writing code to free memory in C++ programs can be burdensome to programmers. Also, by automating garbage collections, Java was able to pave the way for the greater use of frameworks, or sets of libraries that automated various routine tasks. Also, Java was better suited for running across multiple platforms, a capability C++ offered in theory though was difficult to implement.