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

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.

C++ does have some upsides, Purdy admitted. It is faster, thanks to how the code is compiled directly against a specific hardware platform. Also, Java's garbage collection routine can slow the operation of a program at inopportune times, even with careful scheduling. Another upside: A C++ program does not take up as much memory as a Java program, because it does not need as many supporting files and is written for the specific architecture it is being run upon.

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."

Purdy's claim seems to get some backing from other parties who also see that Web application development is taking hold in the enterprise market. In a survey sponsored by Zend, a company that offers commercial support tools for the PHP Web programming language, 97 percent of 117 business and IT executives who said their organizations currently use PHP will use the Web programming language for additional applications in the future. Many cited the speed and flexibility of Web application development as a factor for choosing this approach over the more traditional approach of developing desktop applications.

The QCon conference runs through Wednesday.

Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Joab Jackson

IDG News Service
Show Comments

Cool Tech

Toys for Boys

Family Friendly

Stocking Stuffer

SmartLens - Clip on Phone Camera Lens Set of 3

Learn more >

Christmas Gift Guide

Click for more ›

Brand Post

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Michael Hargreaves

Microsoft Office 365/Dell XPS 15 2-in-1

I’d recommend a Dell XPS 15 2-in-1 and the new Windows 10 to anyone who needs to get serious work done (before you kick back on your couch with your favourite Netflix show.)

Maryellen Rose George

Brother PT-P750W

It’s useful for office tasks as well as pragmatic labelling of equipment and storage – just don’t get too excited and label everything in sight!

Cathy Giles

Brother MFC-L8900CDW

The Brother MFC-L8900CDW is an absolute stand out. I struggle to fault it.

Luke Hill

MSI GT75 TITAN

I need power and lots of it. As a Front End Web developer anything less just won’t cut it which is why the MSI GT75 is an outstanding laptop for me. It’s a sleek and futuristic looking, high quality, beast that has a touch of sci-fi flare about it.

Emily Tyson

MSI GE63 Raider

If you’re looking to invest in your next work horse laptop for work or home use, you can’t go wrong with the MSI GE63.

Laura Johnston

MSI GS65 Stealth Thin

If you can afford the price tag, it is well worth the money. It out performs any other laptop I have tried for gaming, and the transportable design and incredible display also make it ideal for work.

Featured Content

Product Launch Showcase

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?