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.
Photo by Jeffery Newbury
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
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.
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.
Java Versus PHP: A Delicate Balance For IBM