Choosing a Web Application Programming Language

Among computer programming languages, there is no single application that does all the different things, in all the different ways, that programmers need. Because of the great number and diversity of programming tasks, choosing a web application programming language has become a critically important step.

Fortunately, there is continuing development in the field, and today the number of capable applications is expanding. Database-driven websites can now be built with such varied scripting languages as PHP, ASP.NET, JSP, Perl and Cold Fusion, which fall into two main groups – proprietary and open-source. In the foregoing examples, all are open-source except the proprietary Cold Fusion and ASP.NET.

PHP pros and cons

As an open-source application, PHP was developed (and continues to be developed) by an active, engaged, international community of users. This is a great example of strength in numbers. Another strength of PHP, of course, is cost. It’s free.

Because it is free, open-source software, PHP can be compiled and “tweaked” for most any operating system. In fact, there are even pre-compiled versions available for the majority of operating systems, both commercial and freeware.

You can also relax a bit more with PHP, as you can count on its being updated and improved more often than other languages. In an open, collaborative and non-hierarchical environment, suggested improvements can be adopted quickly. Again, this is a strength that is derived from its open-source status.

PHP is a mature application, though younger than Perl, for instance. However, it does have a few weaknesses that may be minor annoyances to some, but deal-killers for other programmers. Its lack of event-based error handling means that your workflow may be interrupted by a sudden jump to a special error-handling section. Finally, its lack of case sensitivity for its function names will run afoul of many professionals’ long-established work habits.

ASP.NET = flexibility

ASP.NET is arguably the most flexible of the programming tools, and “plays nice” with both scripted languages (VBScript, Jscript, Perlscript, Python) and compiled ones (VB, C, Cobol, Smalltalk, Lisp). This flexibility is also apparent in the application’s compatibility with such development environments as WebMatrix, VisualStudio.NET and Borland’s Delphi and C++ Builder.

On the downside, ASP.NET is a memory hog and somewhat slower to execute than its competitors. For this kind of application, that can be a serious weakness – on the Internet, it may be called upon to scale to thousands of users per second. Its memory usage can easily become problematic on your server.

JSP (Java Server Pages)

JSP is an open-source scripting language supported by Oracle, so developers can use Oracle JDeveloper to create JSP pages. This can be accomplished without having to learn the Java language first, relieving you of the task of writing Java scriptlets. It is also extensible, allowing Java tag library developers to outfit it with simple tag handlers that use a new, simpler, cleaner tag extension Application Programming Interface (API).

JSP has integrated the JavaServer Pages Standard Tag Library (JSTL) expression language, and it now supports functions. This greatly eases the creation and maintenance of JSP pages.

The most significant disadvantage of JSP is that there is no XML-compliant version of JSP comments, forcing developers to use client-side, HTML/XML-style comments (or embed Java comments). Depending, once again, on your particular needs, this may or may not be sufficient reason to eschew the use of JSP.

A shiny Perl

An open-source language that is both mature and powerful, Perl offers web developers about every tool they need to create dynamic web pages. Like other open-source languages, it benefits tremendously from ongoing development, and the support offered by its international community of users is second to none.

Perl is particularly good for creating single websites quickly, cleanly and elegantly. If it has a major identifiable weakness, it is that it may be unnecessarily complicated. If you are not comfortable switching gears among a variety of syntaxes, it may not be the best tool for you.

The real ColdFusion

Originally built by Allaire and then purchased by Macromedia, ColdFusion is now owned by Adobe. It is very easy to get started building websites with it, and you can deploy powerful web applications and services with less training – and in less time, using fewer lines of code – than with PHP and JSP.

ColdFusion is now at version 8, although many programmers are still using the various iterations of ColdFusion MX, variously known as ColdFusion MX 6, ColdFusion MX 6.1, ColdFusion MX 7, ColdFusion MX 7.0.1, ColdFusion MX 7.0.2, ColdFusion 7, ColdFusion 7.0.1 and ColdFusion 7.0.2. However, ColdFusion MX to ColdFusion 8 is a valid upgrade path. In fact, upgrading to ColdFusion 8 is supported for the two most recent previous major releases of the program.

ColdFusion supports most major databases, from Oracle and Sybase to Microsoft SQL Server and Access. With its own markup language (CFML) and tags to connect to the database, it is relatively easy to create forms and dynamic pages. It also has all the benefits of CGI for today’s broadbased developers. Its weaknesses are few, but expert users will caution that it is probably the most difficult to maintain.

Bottom line

Secure and scalable web applications are important to every business with an Internet presence (which is every business today, isn’t it?) and can directly affect productivity, sales, reputation and profits. If you want to develop a web application and do not have the expertise in-house, any number of reputable web development firms can help you determine the right tools for your task.

Whether your application development happens in-house or with outside assistance, it is important that management understands the basics. You don’t have to become a programmer, of course, but to make good business decisions you do need to know what these powerful tools are all about. As long as you learn enough to help make the appropriate decision, you can leave the actual coding and compiling to the experts.