QCon: Application development faces seismic shift

Java overtook C++ in popularity because it was better suited for the Web, argues Oracle's chief of development

By , IDG News Service |  Software, c++, HTML5

But these advantages weren't of high importance for programmers when the Web was just emerging. Memory wasn't a huge issue, because Java applications tended to be run from a server, which tended to have a generous supply of memory. Nor was speed a critical issue. Most of the long start-up times that are associated with Java programs come from times needed to start a Java Virtual Machine (JVM) to run the program. But the application server software typically keeps the JVM running continuously, meaning that Java applications could be just as speedy as their C++ counterparts. "How often do you start your Web application? Once a day? Once a month?" Purdy asked.

Also, Java programs are better suited for running on multicore processors than C++ programs, Purdy argued. Programming for multicore processors can be a tedious task in C++. In contrast, Java's virtual machine handles the issue of which processors to use.

"All the benefits of C++ were not valuable. The strengths of Java are well-suited for this world," Purdy concluded. Though C and C++ are particularly suited for writing to a particular platform, crucial when developing an operating system or browser, such development efforts are not always called for. "How many browsers do we need?" he asked, rhetorically. "There are just not many places I need C++," he said.

The programming needs today promise a similar disruption as when Java supplanted C++, Purdy said. We are moving from a server-side architecture to what Purdy called a "thin server architecture," he said. He attributes this shift to a combination of cloud computing, HTML5 and mobile devices.

"These three things will conspire to be a perfect storm in our industry," Purdy said.

Mobile computing requires a back-end service to handle heavy processing. However, the user's devices are not always connected. As a result, some capabilities that used to reside on the server must be available on the local device, so that they can be used when the device is not connected to the Internet. The combination of HTML5 and JavaScript offers the capability to offload storage and processing to the device.

"Applications will shift from a very fat server model, where all the display logic is held on the server, to a much more thin server model where the display logic is in the browser itself," Purdy said. "Its communications with the server is with services and data."

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

SoftwareWhite Papers & Webcasts

Webcast On Demand

HP DevOps KnowledgeVault

Sponsor: HP

See more White Papers | Webcasts

Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question
randomness