For making advanced dynamic web sites, you need some kind of server side scripting. Server side scripts are programs that are executed on the server, and can be used in many ways. Template based web sites and shopping carts are just two examples. The languages used for these tasks are normal programming languages with special libraries/packages for server side scripting.

Not all web hosting accounts support all common scripting languages, so this is an important factor in your search for the perfect web host. Here is a short presentation of the most common programming languages used for server side scripting.

ASP/ASP.net

ASP, or Active Server Pages, is a technology developed by Microsoft for making advanced web pages. The most common language for programming ASP is VBScript. It is available in most web hosting accounts on Microsoft servers. There is also a version for Unix servers called Chillisoft ASP, but it is not as stable as real ASP. There are plenty of online ASP resources too.

ASP.net is the next generation ASP technology which allows you to use any .net-enabled language to program your site. The 2 most common languages for .net web programming is VB.net and C#. Both are good choices for both desktop and web applications. VB.net is perhaps easier to learn, and C# is more used for enterprise applications.

JSP/Servlets

Or Java for web applications. Java is perhaps the most popular language for enterprise level applications, so professional programmers can take their skills to the web. JSP means Java Server Pages and consists of JSP tags mixed in with html. It is best used as the presentation layer of a Java web application, although you can build JSP-only applications.

The logic behind the application is normally hidden below a JSP and is a pure Java program called a servlet. JSP's are also compiled into servlets by the JSP engine the first time it is executed for faster execution time on later requests.

Java is a big and complicated language so it can be hard to learn. One Java benefit is that it enforces good programming techniques, so if you learn Java you will probably become a decent programmer too.

JSP/Servlets add to your hosting expenses because of the cost of JSP/Servlet engines, or the high stress the free JSP/servlet engine Apache Tomcat puts on the server.

ColdFusion

A scripting language developed by Allaire, then bought by Macromedia. Macromedia ColdFusion Server is not free, the Standard edition of ColdFusion MX 6.1 costs $1299/server. You can, however, install a free "developer edition" on your computer for developing and testing your applications. The developer edition is just like the standard edition, except it is limited to one IP address.

It is possible to set up a freeware hosting environment for ColdFusion. The basic version of New Atlanta's ColdFusion server BlueDragon is available for free. It runs on top of a JSP/Servlet engine like Apache Tomcat. But I don't know any hosting companies who are running this combination. Although this platform is free, it will cost at least the same as JSP/servlet hosting since Apache Tomcat is the underlying engine.

ColdFusion consist of xml/html-like tags, so it is very easy to learn if you already know html. ColdFusion is also well suited to fast development of not too complicated web applications.

Perl

Perl has been the most used scripting language for web applications. It is a very powerful language with many advanced features, and there are 1000's of perl scripts available for free in various scripting directories. Perl scripting is available in most cheap web hosting packages.

PHP

PHP, or PHP Hypertext Preprocessor is an open source language and has gained enormous popularity the last years. It is easy to learn and there are many readymade scripts available. Almost every cheap web hosting package includes PHP. It is easy to learn for a programming language with many books and web sites dedicated to it.

Python

Although Python was created in 1989, it is not yet as widespread as PHP, ASP or Perl, and Python is not a language that is supported by most web hosting companies. It is easy to learn though, has a clean, elegant syntax and is perfectly suited to typical web applications. The drawback is that there really is no standard web application framework for Python.

Besides its usefulness in web applications, Python is also a good choice for many other types of programs, like GUI applications and utility scripts. If you want to use one programming lanuage for everything, take a closer look at Python

Your choice

The "standard" choice for server side scripting on Unix/Linux platforms is PHP. It is easy to learn and fast to program in. Java (JSP/Servlets) is the preferred choice for bigger projects/enterprises. Those who are planning to become expert Windows programmers can't go wrong with ASP.net, with language choices for both beginners and more experienced programmers. ColdFusion, Perl and Python are also good programming languages with their unique strengths.

As a beginner, put focus on learning programming. The languages are just tools, and most programming techniques can be used with most programming languages. With that said, pick one language and stick to it in the beginning. Using different languages will just be confusing for beginners. For experienced programmers, new scripting languages are easy to learn.