Some IT shops insist on applying the same tools, languages, and methodology that govern mission-critical applications to departmental apps whose main intent is to boost productivity and answer immediate business needs. But as our survey indicates, others are willing to relinquish some control and allow tools and approaches more appropriate for the job. Developers from a variety of skill levels gave a clear endorsement to such languages as Perl, Python, and VB Script, with 82 percent deeming them acceptable for user-facing Web applications. And a whopping 95 percent thinks they are acceptable for automating application build and test procedures.
While some who use scripting languages are amateur programmers, others are pros with sound arguments for avoiding Java and Microsoft solutions. Katie Barnes, an experienced independent developer in Oakland, Calif., extols the virtues of the open source scripting language PHP (for "PHP: Hypertext Processor," jokingly referred to as a "recursive acronym" by fans). "If you want to get interactive Web pages up and running fast," Barnes says, "you want to do it with PHP."
Speed refers not only to development time, Barnes says, but also to performance, because PHP apps are so lightweight in comparison to lumbering EJB or .Net apps. She also rolls her eyes at the high licensing and maintenance costs of such application server offerings as BEA WebLogic. Mission-critical apps may demand such an investment, but the vast majority of Web applications can be built with far less hassle and expense, Barnes says.
"A scripting language generating dynamic Web pages is actually so much faster to develop in," agrees Ted Shelton, vice president of business development at Borland, which produces a range of tools for .Net, Java, and Delphi (Borland's own programming language). "There's literally no comparison."
For departmental or small business applications, Shelton says, scripting provides a way for users to get the applications they need without jumping through IT's hoops. "Users are revolting and saying: 'God damn it, I can go create my scheduling app myself if I have to, if you're not going to give it to me.'"
The counterargument is that such ad-hoc adventures in programming can cause headaches later on. One San Francisco consultant who represents the IT view (but prefers to remain anonymous) puts it this way: "People build applications using scripting tools because the tools are so easy to get going and because they deliver functionality to business users so fast. The downside is that they do not require the process and discipline of the more robust applications, so maintenance tends to be very difficult if not impossible."
Giving Code a Second Life
The war between guerilla and IT-sanctioned technology has persisted since the first PC slipped in the back door of a big corporation. But there's one thing nearly everyone can agree on: Nobody wants to write it twice if they don't have to. In our survey, when asked what the biggest obstacle to reusing software is, only 10 percent say programmer disinclination. The top obstacles are lack of awareness of software available for reuse and the level of effort required to design software for reuse (see details of survey results).