informa
/
5 MIN READ
Feature

Java Meets Its Match

Scripting languages such as Ajax and PHP are challenging Java and making it easier to quickly develop and prototype Web-services apps
Andreessen also has launched a startup company, Ning, which lets developers use PHP to create "mashups," or combinations of newly created Web sites and content from popular sites such as Craigslist, Flickr, and Zagat.com for social networks or special events.

Simpler Tools

Smaller organizations, too, want to satisfy the desire for simpler scripting tools. The Ruby On Rails open-source project has released beta software to make it easier to design apps with Ruby, a server-side scripting language. And Dutch company Backbase in August released a third version of its Ajax toolkit, which is used by companies including Heineken International NV and ABN-Amro Bank NV.

Scripting languages weren't meant to be precise, says PHP inventor Lerdorf, but to get the job done quickly.

Scripting languages weren't meant to be precise, says PHP inventor Lerdorf, but to get the job done quickly.

Photo by Jeffery Newbury
"Heavy-duty computer-science folks tend to get frustrated with scripting languages because they're not precise," says Rasmus Lerdorf, an engineer at Yahoo and inventor of the PHP language. "But for someone who has a lot of work to do and needs to go home on Friday afternoon, it just works."

Lerdorf, a native of Denmark, started PHP in 1994 to make it easier for novice programmers to quickly pull information from a variety of databases, display it on the Web, and send browsers' responses back to the server. "Since then, it's grown like crazy," he says. "It makes it extremely easy to whip something together very quickly."

For one, scripting languages are interpreted by the computer as they run rather than compiled into byte code, which means developers can test chunks of code while they're writing them. "You can write a few lines, test it, see if you're on the right track, and do course corrections," says Jeff Barr, a Web-services evangelist at Amazon.com.

Also, since Web browsers don't distinguish between strings of letters and numbers, PHP takes educated guesses to convert user's input to integers that back-end data- processing software can understand. With more precise programming languages, developers have to define variables as strings of text or numbers before they assign values to them, which means more advance planning and less brain-dump-style programming.

To be sure, Java, C++, and C# remain the languages of choice for developing systems that have to meet stringent performance standards or serve large numbers of users. PHP "was never meant to be a new, revolutionary language," Lerdorf says.

"You Can Write A Few Lines, Test It, And Do Course Corrections." –Amazon's Barr

"You Can Write A Few Lines, Test It, And Do Course Corrections." Amazon's Barr
Most of Yahoo's computer systems that face its 345 million users are written in C++ and other compiled languages. But the company uses PHP for quick internal projects such as an internal poll of company engineers he wrote in two hours, and Lerdorf says the language can help development teams sketch out prototypes that "fail fast and fail cheap. It's definitely the first cut at building an externally facing application," he says.

Ajax, too, is being used by big Web properties to test new functionality--sometimes via software that isn't even developed in-house. The Book Burro Web site (book burro.org) features a free, downloadable application that runs JavaScript inside the Firefox browser. When a Web shopper with the software on his PC searches for a book on Amazon.com, Book Burro launches a small, transparent window that crawls Amazon's catalog data and the pages of other E-commerce sites for comparative prices on the title.

Fast and Frequent

In part, Ajax and PHP are responses to a software industry zeitgeist that values fast, frequent releases over methodically tested new versions. Nowadays, feedback can come in overnight from users via E-mail and blogs, and teams can rewrite parts of the app the next day, Barr notes. "We don't have time anymore to write 18 months of specs, put it in front of customers, get feedback, and do it again," he says.

Not everyone agrees Ajax is difficult for beginners. "I see it being as easy to learn as HTML and JavaScript were," says Chris DiBona, an open-source programs manager at Google Inc. "I don't see it as being impenetrable." Then again, it was Google's own expert developers who helped popularize the Ajax approach with apps like Gmail and Google Maps.

Besides the ease-of-use factor, some technologists say Ajax's tendency to create incompatibilities across browsers without careful coding is threatening the Web's reach. Macromedia's Flash, which competes with Ajax, still lets developers write in a scripting language and use XML, but Flash code runs well across a variety of browsers. "A lot of the promise of the Web was anyone with a Web browser could access different applications and content," says Macromedia chief software architect Kevin Lynch. "That promise is starting to be threatened a little with all of these different applications and run times. So I'm worried about that."

Macromedia isn't the only company with something to lose by Ajax's popularity. In addition to creating snappy, graphically rich applications without licensing Flash, Ajax apps also resemble the desktop software built using Microsoft's Win32 and .Net APIs. And Microsoft is taking criticism from the Java camp because its Atlas tool generates code that uses Microsoft Active Server Pages technology, which requires Windows on the server side. "Our clients have lots of back ends," says IBM's Smith. Zimbra's Dietzen is even more direct. "Microsoft Atlas will compete with Ajax for developers."

Microsoft manager Guthrie says Microsoft's goal in building Atlas is to address ease of use and developer productivity by providing a single API and software stack, as well as ensure code that "runs great on Windows." No surprises there. Atlas also can be used without ASP.net, he says, but acknowledges that option isn't for "our core audience."

All the vendors have the same goal--make it easier for developers to write apps quickly using scripting languages. Some of the languages have proven themselves on highly popular Web sites, while others are just developing a following. The challenge may be to ensure that the proliferation of languages won't turn the Web into a Tower of Babel.

Continue to the sidebar:
Java Versus PHP: A Delicate Balance For IBM
Editor's Choice
Brian T. Horowitz, Contributing Reporter
Samuel Greengard, Contributing Reporter
Nathan Eddy, Freelance Writer
Brandon Taylor, Digital Editorial Program Manager
Jessica Davis, Senior Editor
Cynthia Harvey, Freelance Journalist, InformationWeek
Sara Peters, Editor-in-Chief, InformationWeek / Network Computing