Programming (http://www.sitepoint.com/programming/)

Which Server-Side Language Is Right For

Kevin Yank (http://www.sitepoint.com/author/kevin-yank/)

Published October 9, 2001

Tweet (Https://Twitter.Com/Share?Text=Which+ServerSide+Language+Is+Right+For+You%3F&Via=Sitepointdotcom)
Subscribe (Https://Confirmsubscription.Com/H/Y/D46DD8C9BD8A0B5D)

The market for server-side Web development solutions is a crowded one, these days! Perl,
ASP, PHP, JSP, Cold Fusion and many more specialized choices abound. How is a
newcomer supposed to know what to learn and what to use? Choosing a platform with
which to build your first major database-driven Web application is nothing like choosing
an HTML editor — you can’t just download a half dozen candidates and take them all for a
test drive one lazy afternoon. Some of these languages can take an uninitiated Web
developer months of work to truly understand and come to use comfortably. Unless
you’ve got time to take a year off and curl up with a pile of books, you’re going to need
some guidance!
In this article, I’ll touch on each of the major options on the ‘net today. For each, I’ll explain the main
selling points, the inevitable drawbacks, the relative costs and the neccessary compromises. I’ll also
profile the target developer for each of these technologes; that is, I’ll shortly explain who they had in
mind when the geniuses behind each of these technologies first created them. If any of these
profiles remind you of your own situation, that should be a pretty good sign that you’ve found the right

on occasion) written in C/C++ if necessary. since it wasn’t purpose-built for Web development. however. the Comprehensive Perl Archive Network (CPAN) (http://www. and if you want to make it do something complicated. this article is not about deciding which platform is the best of all. pieces of somtimes-complex functionality that can be plugged into the language to adapt it to various specialized purposes. Today. and now that Perl comes with the CGI. Just like HTML editors. at least you’ll have some idea of what you’re up against! CGI/Perl Perl has been around longer than the World Wide Web itself. With its convenient handling of text. And hey: even if you still can’t decide after reading this. Perl has always been better suited to the job. There are much easier languages out there to learn that can do just as much in the Web development arena. As a final boon. Version 1 was released on December 18th 1987. and in some cases fully developed Web applications. in fact. You see. a multipurpose scripting language that was designed to handle tasks that involve a lot of text manipulation. Perl is very good at juggling pieces of text from various sources and combining them to form complete documents. One such purpose is the creation of dynamic Web content via the Common Gateway Interface (CGI) supported by the vast majority of Web servers. CGI programs can be (and have been. but which is best for you. Advantages: . but Perl will also let you do a lot more than just Web development if you need to. The only downside to this language is that. In the decade and a half since its creation.org/) was founded to provide a centralized source for add-in modules. chances are someone has already written a module to make your job easier.The choice of a server-side programming language is a constant source of heated debate on the Internet today.pm module built in. scalability. or ease of use in a Web server setting. or if it turns out you’ve already made the wrong choice. sample scripts.cpan. everyone has their favorite scripting language and most people have very good reasons for their choices. Perl has been expanded by means of modules. it hasn’t been optimized either for speed. However. CGI is a standard means by which the Web server software can hand a browser’s request for a Web page off to any program. Perl was not created as a Web development language. versions of Perl are available for free on all major operating systems (from mainstream Windows to the most obscure Unix variant). which is exactly what is involved in server-side Web development. you’re probably wondering how a server-side Web development language could have existed before the Web itself. the very nature of server-side development — that Web browser compatibility is not an issue — allows for two technologies that tackle the same problem in very different ways to both succeed in equal measure! For this reason. a full decade before the other languages covered in this article were even conceived! If you’re new to this stuff. Truth be told. Perl is. most of the nitty gritty details of handling things like HTML form submissions are handled for you.

which means there is no formal support for it. Perl is optimized for the Unix platform on which it was created. A vast network of dedicated Perl developers all over the world are at your disposal. though a good book to show you the ropes may set you back a little. Drawbacks: Although some options exist to improve the situation. If you’re looking to create a Web application that can field a lot of hits in a short space of time. but the CPAN archive (among others) will give you plenty of examples to work from. Perl doesn’t scale especially well on busy servers. so you probably won’t have to pay extra for hosting. ASP is a framework that lets you combine one of a number of scripting languages (VBScript and JavaScript being the most popular choices) with an expandable set of software components. you’re less likely to run into bugs in Perl than in any other server-side language. Rather. you likely have better choices performance-wise. do anything’ tool that can always be relied upon. Target Developer: Most Web developers who still work with Perl today tend to be Unix administrators and users who also put Perl to work in other areas of their system. Perl is Open Source software. Additionally. if something goes wrong. Most good Web hosts support Perl.A mature language with over a decade of history. Perl is a comforting ‘go anywhere. so if you expect to work on a Windows server. you may want to look elsewhere. Perl developers are notorious for finding the shortest way to write any given program.webmasterbase. which can make learning from the work of others difficult if they didn’t use the same method you’re used to seeing. ASP Before we go any further. It’s FREE. let’s get something out of the way for the purists out there. Microsoft Active Server Pages (ASP) is not a language. Not only will they answer your questions on countless Perl discussion groups and mailing lists. Perl is notorious for having five different ways of doing even the simplest thing. These components are treated as objects by the . If you’re an inexperienced developer faced with the task of maintaining a site that was originally written in Perl.com/article/435) and prepare to add a truly powerful tool to your arsenal. For people like these. most of which is squiggles and backslashes. the only person you can really count on is yourself. so you may be surprised to look at a sample script only to find that a complete ecommerce shopping cart script has been written in three lines of code. Despite the huge support community available to you. then grab a couple of good books (http://www.

a search engine. Built into Windows 2000 Server — no installation headaches. Any less common functionality. ASP is closely linked to the Windows operating system (most of the software components that ASP relies on for its functionality are Windows-specific) and the Microsoft Internet Information Services Web server software. that’s the Microsoft sales pitch out of the way. powerful enough for most mainstream server-side Web development. . MSDN (http://msdn. handle binary file uploads and many other things. If all you need for your application is database connectivity. In essence. Now let’s face facts: for all practical purposes. tend to be commercial solutions that will cost you money. and Microsoft support personnel will gladly investigate any problems you have in your development efforts (for a price). Another concern for ASP developers is the relatively limited nature of the components that come bundled with ASP. then ASP will suit you just fine. like ASP. you can rest assured there will be someone there whose job it is to give you the answer. Any way you look at it. which is usually more expensive. If at any time you absolutely need an answer to a question. For these reasons. but unless you’re specific aim is to move an existing ASP Web site onto a Linux server. If you’re paying for Web hosting. and under that umbrella it excels. will usually require you to install additional software components on your server. There are versions of ASP that can be run on an Apache server running under Linux.microsoft. it means paying for a Windows-based server. the Microsoft Development Network provides a wealth of technical articles and reference material for ASP developers. IIS is not as scalable on that platform). your choice is all but made for you. Since most of the sample code out there is written in VBScript. Okay. basic form processing and session tracking. You simply get a choice between writing VBScript ASP or JavaScript ASP. and quite good performance-wise. it is neither practical nor desirable to run a Web site based on ASP on anything but a Windows-based server. though programming is required. ASP might as well be a language. Thus. that means you must invest in a copy of Windows 2000 Server (although much of ASP runs on Windows 2000 Professional. If you’re setting up your own Web server. Advantages: Fairly easy to learn. the power of ASP lies in its ability to combine relatively simple scripting languages like VBScript and JavaScript with powerful software components that are normally used by C/C++ developers.scripting language of your choice when it is used as part of the ASP framework. ASP will cost you money to run. with all the backing of the Microsoft development community behind it.com/). ASP is generally considered to be a language for developing dynamic Web sites using VBScript. interact with FTP servers. there is little point. however. email handling services. Unfortunately. these components. ASP is easy to learn. The upside of all this is that ASP is a very well supported technology. There are many companies out there that produce components for use with ASP that generate PDF files.

com/). Perl. Cold Fusion is anything but restrictive. With the vast majority of server-side languages. then ASP is a great technology to learn. ASP is about as friendly to non-programmers as a programming language can get (but if you really hate programming. check out Cold Fusion. If you’re used to C-style syntax (shared by C/C++. <CFOUTPUT> refers to the query and lets you use standard HTML to format and display the results of the query. this tag-based system may sound restrictive and inflexible. evil programming language to learn and your head just starts to ache… Originally created by Allaire (http://www. Yes. then this is definitely the Web development platform for you. A second tag. or develop them yourself in C/C++ or Visual Basic. Drawbacks: It’s not free (unless you’re already using a Windows server) Specialized functionality may require you to purchase commercial components.allaire. If you’re comfortable committing to Windows for your Web server platform and can afford the costs involved. the choice of server-side Web development platform can be a dreaded one. you need to add code to your Web page to break out of HTML mode. Cold Fusion 5. connect to the database. In Cold Fusion. Target Developer: If you’ve done any development with VBScript or Visual Basic. and process the results that the database sends you to display it as part of the Web page. Instead of a scripting language. the attributes of which give the query a name and indicate what information to retrieve from which database. you may find the idiosyncrasies of VBScript difficult to come to grips with. or have developed COM objects in Windows before. Also. request the entries from the database that you want to display. or if the company you work for simply demands the level of support that Microsoft can provide. Cold Fusion For the Web desginer who has never written a program before. tags — just like those HTML tags you’ve come to know and love! Let’s take the example of publishing information stored in a database on the Web. PHP. but with a built-in library of over 300 tags in the latest version.macromedia.). Cold Fusion gives you a set of tags to learn. etc.com/) in 1995 and recently bought out by Macromedia (http://www. up next). this common task is done with two tags: a <CFQUERY> tag. seamlessly .Professional support available. Whichever way you go. Cold Fusion was designed to be different. and the ability to add custom tags with more traditional programming languages like C/C++ and Java. you’re faced with an big. To the experienced programmer.0 includes tags that automatically generate graphs from database data. Java.

and usually does it quicker and easier.and hardware-based server clustering). Cross platform. Target Developer: Web designers who are comfortable with HTML but need to add server-side skills to their repertoire without having to learn a programming language. PHP has been dubbed by some to be ‘Perl killer’ of the server-side scripting world. Cold Fusion is a commercial server platform. and even generate HTML forms with full JavaScript validation code. Also. Advantages: Extremely easy to learn — no programming required! Powerful and very scalable (latest version has support for both software. For purposes of Web development. Professional Support from Macromedia. Cold Fusion might be worth a look! PHP A relative newcomer in the server-side development arena. learning Cold Fusion is just like learning some new tags.295 Programmers may not like the tag-based development methods.0 costs $1. Cold Fusion is not tied to the Windows platform. which usually runs as a CGI program invoked by the Web server to handle each page request. For the desginer who is forced to acquire server-side skills. its relatively simple syntax and low. low price (it’s free!) has made it an attractive alternative to Microsoft’s ASP for new developers. Cold Fusion comes with the utopian promise of only having to learn a few new tags! Like ASP.provide search facilities on your Website. PHP can integrate with your Web server so that it operates much more efficiently. From the average developer’s point of view. . Unlike Perl. however. Drawbacks: Expensive to set up your own server: Cold Fusion Server Professional 5. Cold Fusion can integrate just as easily with Apache running under Linux as it can with IIS on Windows 2000. Non-designers are also likely to warm up to the neatness of server-side programming with tags. Unlike ASP. so if you’re tired of debugging your serverside scripts. which means it will cost you money to run it whether you set up your own server or rent space on a Web hosting provider. PHP has gained a large following among programmers with its familiar syntax and comprehensive function library. PHP can do almost everything that Perl can.

Doing this requires a knowledge of C/C++ programming and is not for the faint of heart! Fortunately. Everything’s built right into the language. is that there is no formal support for any problems you may encounter with PHP. Open Source software. This is a great boon for developers on a budget. Advantages: Fairly easy to learn. and even up to Enterprise JavaBeans (EJBs). of course. It integrates with all major Web servers on all major operating systems. Also since PHP is such a new and actively developed technology.com/)!) that is always eager to help you with any stumbling blocks. no commercial add-ins to buy… PHP handles everything itself! In fact. there are still occasional bugs found in the latest versions. especially for developers with C/C++. though — PHP has an extremely active user community (a large segment of which can be found in our very own SitePoint Forums (http://www. just about the only weakness of PHP is that it’s relatively difficult to expand the language to add non-standard functionality that is not handled by its built-in functions. Drawbacks: This language was designed to be programmer-friendly. and the current versions of PHP are quite stable and reliable. Target Developer: Web developers on a budget who enjoy simple programming (e. Active user community willing to lend you a hand getting started. PHP gives you a great deal of power with relatively simple code structure.sitepointforums. which unfortunately makes it a little less friendly to non-programmers. . Java Java is arguably the most powerful platform for server-side Web development today. cross-platform. Java. because they can set up a complete Linux-based Web server with PHP support and not pay a dime for software! The downside of this.PHP is an extremely capable language. Don’t let these niggles put you off. with a vast array of built-in functions to do everything from tracking user sessions to generating dynamic graphics and even PDF files on the fly! No modules to install. It’s free! Cross-platform. you’d have to come up with a very esoteric Web application to require functionality that isn’t already built into PHP. but may not be suited to very high end applications that aren’t supported by PHP’s built-in features.g. JavaScript). or Perl experience. PHP is free. From small Java programs (Servlets) that handle Web page requests to JavaServer Pages (JSPs) that combine HTML with custom tags and Java code. or don’t mind learning how.

tears and development time. Run Anywhere (WORA) philosophy. Drawbacks: Java takes a lot of work to learn. no matter the platform. Advantages: Extremely powerful and scalable. and while most of them are free for personal use and development. As you might expect. Java Web applications tend to be customized solutions to complex problems. .software components with sophisticated abilities to carry information seamlessly across servers and networks to accomodate distributed applications. the majority must be paid for before you can use them to serve a commercial Website. a simpler language like PHP can have you up and running in a week or less! Java is renouned for its Write One. Many different vendors produce the plug-ins that enable Web servers like Apache and IIS to run Java Web applications. Java is truly a hot technology. rather than sellable solutions that you can buy online. but if you just want to get something working quickly. if you’re interested in making a career in server-side programming then that may not seem like much. Most Java server plugins are free for personal and development purposes.000/yr. and don’t mind paying for it in sweat. and indeed Java can be run on all major Web servers and all major operating systems. there’s a reason for that: Java is not easy to learn! Unlike scripting languages like Perl. in my experience. however. The makers of Java planned for this mechanism to be used to distribute commercial Web applications for use on Java Web servers. and in another month would likely be able to pick up the basics of simple server-side programming with Java. Most Java server plugins must be paid for if they are to be used to host a commercial Web site. Don’t even start if you’re not serious about learning object oriented programming.WAR) files that can then be installed on any Java-enabled Web server. Now. An experienced Java Web developer can easily pull in salaries in excess of US$100. ASP and PHP. Target Developer: Serious developers who want the ultimate in power. flexibility and scalability for their Web applications. Java is a full-fledged programming language fully capable of writing big programs! Someone with a little programming experience could expect to pick up a working knowledge of the Java language in a month or two with the help of a good book. Cross-platform. Java Web applications can also be bundled up into a standard Web Application Archive (.

com/105505321936740566301) You might also like: Stored Procedures in MySQL and PHP (http://www. Windows-based framework Cold Fusion: a powerful.com/author/kevin-yank/) Kevin began developing for the Web in 1995 and is a highly respected technical author. If you’re still in need of some guidance. He has a passion for making web technology easy to understand by anyone. for serious programmers Hopefully armed with the low-down on all these options.sitepoint. cross-platform language that can be hard to understand ASP: Microsoft’s powerful.sitepoint. Yes.google. be sure to drop by our Server-Side Internet Development forum at SitePoint Forums (http://www. open-source alternative with lots of features built in Java: the ultimate in power and flexibility.com/). even you!  (https://plus.sitepointforums.Summary In this article. speaker and JavaScript expert.sitepoint. We’ll be glad to help! (http://www. we looked at the relative features. tag-based option for non-programmers PHP: a cross-platform. benefits and downfalls of all the major server-side development options available today: Perl: a mature.com/author/kevin-yank/) Kevin Yank (http://www. Kev is a world-renowned author.com/stored-procedures-mysql-php/) Book: Jump Start Bootstrap  . you’re feeling better-equipped to tackle the big decision of which to learn and use for your next project.

email address Claim Book No Reader comments Comments on this post are closed. .sitepoint.(https://learnable.com/targeting-google-dart/)   Free book: Jump Start HTML5 Basics Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.com/books/jump-start-bootstrap? utm_source=sitepoint&utm_medium=relateditems&utm_content=js-bootstrap) Are You Targeting Google Dart? (http://www.

facebook.com) Reference (http://reference.google.com/sitepoint)   (http://twitter.About About us (/about-us/) Advertise (/advertising) Legals (/legals) Feedback (mailto:feedback@sitepoint.com) Hosting Reviews (/hosting-reviews/) Web Foundations (/web-foundations/) Connect    (/feed) (/newsletter) (https://www.com/+sitepoint) © 2000 – 2014 SitePoint Pty.com) Write for Us (/write-for-us) Our Sites Learnable (https://learnable. . Ltd.sitepoint.com/sitepointdotcom) (https://plus.