Choosing a Web Application Programming LanguageThe diversity of programming tasks
|
 |
Visited: 2244 |
|
|
| 4.0/5.0 (1 votes total) |
|
|
|
|
by Gary Klingsheim December 16, 2008
|
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.
|