View Evan Greenwood's profile on LinkedIn
Web development - Internet/Intranet, Web Applications
PHP   Classic ASP   ASP.NET   Python   Request a quote/Contact me   Sample web apps

Today web development does not mean "web sites". With the advent of Ajax web applications are more and more mimicking the look & feel of their desktop counterparts. Web applications give us the advantage the Java always enticed us with but never quite delivered on:

True platform portability.

Now it's possible to deliver the same application with little or no modifications to Unix, Windows, Macintosh and even our handheld devices!  Deployment to the clients is also merely a case of ensuring they have a working browser with scripting enabled.

Choosing the right development language

Today there is quite a selection of scripting languages available. All of them are available "freely" (although there is also a cost associated with all of them too!).  Choosing the right one for your project can be daunting, but a few simple rules can help.

PHP has become very widespread due to it being open source and *nix friendly. Since the vast majority of Internet web servers are Unix/Linux based, it makes PHP a good choice for Internet sites.  PHP has a wide range of libraries including LDAP libraries, SOAP libraries, Win32 libraries (for interacting with the Windows operating system), XML parsers, and even Verisign credit card payment libraries! Here is a link to the PHP function reference.

PHP does not come with it's disadvantages, however.  Not the least of these is, although this may initially seem contradictory, that PHP is open source.   Despite many open source projects being under the control of well organized foundations (an example is the Apache foundation ), there still tends to be less stringent controls on backwards compatibility than what you would expect in a major corporate.  Perhaps in some cases the corporate vulnerability to law suits is a good thing!

Many web developers can tell stories of web sites being broken due to a PHP upgrade on the server.  Despite this, with effective testing prior to release - and thankfully these incidents are rare, PHP makes a good choice in scripting language.

Classic ASP (Active Server Pages)

ASP was Microsoft's entry into server-side scripting.  There are many web sites around the world running ASP. However, ASPs strength was creating web applications on the corporate Intranet.   It gave developers & administrators access to a native level of the operating system, including access to the Microsoft Component Object Model (COM).  Developers were not limited to the security context of the running IIS process, it was possible to execute within the security context of the calling user (with some constraints around referrals), or utilizing COM+ it is even possible to execute code within a 3rd party security context (for elevated credentials, for example), implementing internal security.

Despite Microsoft strongly encouraging us to move to ASP.NET, it is still widely used.  This is probably due to the ease of building dynamic sites without any tools more than a good text editor (ASP.NET can also be developed this way, but it is a lot more complex & it's strength is the free development environment), that many administrators are already familiar with VBScript or JScript , it's (comparatively) small overhead on the server & the performance of ASP pages.

The key disadvantage of ASP is it's lack of portability. Although there has been ASP libraries developed for the Apache HTTPD server (the most common web server on the 'net), it only supports Pearl & the support is somewhat undependable.

ASP.NET is starting to really take off.  Microsoft have provided us with a superbly structured language in C# (others like VB.NET), an open architecture which allows 3rd parties to create language extensions (like Python .NET ), a degree of portability with Microsoft's Grasshopper extensions for Visual Studio 2005 to develop J2EE projects, & The Mono-Project , and a great free development environment.   Of course, this is a great strategy for Microsoft: the more ASP.NET developers, the more ASP web site...the more Windows Servers floating around!

The key benefits of ASP.NET is the rapid development of complex web applications, the large number of frameworks available due to the developer base (E.G. Ajax framework ), and the native integration into the predominantly Windows corporate environment.

Although for many Python is the new boy on the block, it has in fact been around for some time and is gaining rapidly in popularity amongst the scientific & engineering community, as well as the "hard core" Linux (predominantly) gurus.  Python is also available for Windows making it a cross platform capable scripting language.

One of the key benefits of Python is again rapid development of dynamic web sites.  Pythons readability & ease of learning makes it ideal for rapid prototyping of web sites.   It has a very extensive range of libraries & has been used for some very complex algorithms.

The key drawbacks of Python are the number of developers using it daily - presently still less than the other languages.   Python is also an interpreted language rather than JIT compilation as the other languages are. This is both a disadvantage and a benefit.

Visit here for expert computer work!