SP
106 4
Created
Updated
Viewed
65.4k times

I've noticed that quite a few people come to Ozzu asking about the best way to create dynamic, content-driven websites. After being told to use a server-side scripting language, their next question is almost always about which one to use.

Hopefully, this will help clear up a few things and help people to make a choice.

PHP

PHP is one of the most widely-used scripting languages because it is free, and it is easy to learn. PHP has extensive API documentation and built-in functionality for many common tasks.

Website: https://www.php.net/
Cost: Free (Open Source)
License: PHP License
Syntax: C-like, similar to Perl
API: PHP Manual

A simple Hello World script in PHP might look like this:

<html>
<head>
<title>PHP Hello World Demo</title>
</head>
<body>
 
<?php
    $greeting = "Hello World!";
    echo $greeting;
?>
 
</body>
</html>

Most Linux-based hosting packages provide PHP support as a basic part of any plan. To set up PHP on your own computer for development purposes, you can either install PHP itself, available here, or use an all-in-one package that sets up a complete Apache, PHP, and MySQL environment, such as WAMP.

To begin learning PHP, check out the following:
PHP Resources for Tutorials, Books, Script Archives, etc.
PHP Tutorials

ASP.NET

ASP.NET is also relatively easy to learn and costs nothing to run on a server.

Website: https://dotnet.microsoft.com/en-us/apps/aspnet
Cost: Free
License: Microsoft
Syntax: Varies
API: MSDN

A simple Hello World script in ASP.NET might look like this:

<html>
<head>
<title>ASP.NET Hello World Demo</title>
</head>
<body>
 
<% Response.Write("Hello World!") %>
 
</body>
</html>

ASP.NET is used widely on Windows-based hosting packages. ASP.NET uses (and thus requires) the .NET framework. To set up ASP.NET on your own computer for development purposes, you can install the .NET framework and ASP.NET, available here.

To begin learning ASP.NET, check out the following:
ASP.NET Tutorials
ASP.NET: Getting Started
QuickStart Tutorial
ASP.NET tutorial at W3Schools

ColdFusion

ColdFusion is used in many enterprise-level web applications. It integrates tightly with other Adobe technologies and platforms such as Flex and AIR. To install and run ColdFusion on your own server, you'll need to purchase a ColdFusion license from Adobe. A good number of hosting providers, however, provide ColdFusion support, often for only a few dollars extra on any hosting plan. Some even offer it free of charge.

Although a full-fledged ColdFusion license can be pricey, you'll likely only need the Developer Edition, which is free and allows you to develop ColdFusion applications locally.

Website: https://www.adobe.com/products/coldfusion-family.html
Cost: $9,499 USD (developer's edition is free)
License: Adobe
Syntax: XML-based
API: CFML Reference

A simple Hello World script in ColdFusion might look like this:

<html>
<head>
<title>ColdFusion Hello World Demo</title>
</head>
<body>
 
<cfset var greeting = "Hello World">
<cfoutput>#greeting#</cfoutput>
 
</body>
</html>

To set up Coldfusion on your own computer for development purposes, you can install the ColdFusion Developer Edition, available here. (Adobe account required, free to signup)

To begin learning ColdFusion, check out the following:
ColdFusion Developer Center
ColdFusion Tutorial and Article Index

Python

Python is a general-purpose scripting language often used to develop web applications. Python is arguably a more powerful object-oriented language than PHP, but the two languages are very similar and learning one makes learning the other easy.

Website: https://www.python.org/
Cost: Free (Open Source)
License: Python License
Syntax: C-like
API: Python Language Reference

A simple Hello World script in Python might look like this:

greeting = "Hello World!"
print greeting

Note that on shared hosting, Python scripts are usually run as CGI programs. To set up Python on your own computer for development purposes, you can install the Python libraries, available here.

To begin learning Python, check out the following:
Python Documentation
Python Tutorial
A Beginner's Python Tutorial

Ruby

Ruby is a newer scripting language that aims to focus on simplicity and rapid development. Ruby is often seen paired with the Rails framework, an MVC framework built on Ruby for rapid application development.

Website: https://www.ruby-lang.org/en/
Cost: Free (Open Source)
License: Ruby License
Syntax: Unique
API: Ruby Core Reference

A simple Hello World script in Ruby might look like this:

<html>
<head>
<title>Ruby Hello World Demo</title>
</head>
<body>
 
<%
    greeting = "Hello World!"
    puts greeting
%>
 
</body>
</html>

Ruby is not always available on hosting packages, so be sure to check with your hosting provider and ask for Ruby support if necessary. To set up Ruby on your own computer for development purposes, you can install the Ruby libraries, available here.

To begin learning Ruby, check out the following:
Ruby Documentation
Basic Ruby Tutorial

There are many other scripting languages that can be used to create dynamic websites. I've only listed some of the most common ones here. In addition to the languages themselves, many people often use a framework to aid in the development process. Popular MVC frameworks include Rails (for Ruby) and Cake (for PHP), Laravel (for PHP), and Symfony (for PHP).

add a comment
1

6 Replies

  • Votes
  • Oldest
  • Latest
Replied
Updated

Just as a note. The syntax for ASP.NET is not VB like as it supports three different language sets. Namely VB.NET, C# and then Microsofts attempt at Java.

As for the <% Response.Write %> scenario you hardly use that in ASP.NET. What you are more likely to do is create an <ASP:label ID="myLabel" runat="server" /> and then in your code behind page myLabel.Text = "Hello World".

As for the MS specific comment there is also the Mono project with adapters for Apache that run the ASPX pages.

  • 0
    Thanks. I have zero experience with ASP.NET so I was basing that on examples I found online. I'll update the description soon. — spork
add a comment
0
JO
184 4
Replied
Updated

So ASP.NET is like Coldfusion with namespaces ? 🤔

  • 0
    Coldfusion was an attempt at processing jsp in a propretory engine 🙂 The framework is far more powerful though plus the AJAX extensions. I still hate web though but I must say in terms of fast fancy development, ASP.NET is way ahead — Rabid Dog
  • 0
    After working with the Java Seam framework and the likes of JSF and RichFaces I am inclined to say that Java now has my corner on fancy interface development 🙂 Another tool in the box thank you very much. — Rabid Dog
  • 0
    RD, I'm looking to pick up a new web application skill set over the next few months; would you recommend ASP.NET MVC or Java EE/Spring/JBoss, etc. (or something else?) — spork
  • 0
    Java EE 5 + Seam, love them 🙂 — Rabid Dog
add a comment
0
Replied
Updated

So people don't do much in Perl anymore?

  • 0
    Perl is more like the Swiss Army Knife of scripting languages. It's still widely used for a lot of things, but other languages are far more popular when it comes to web development. — spork
  • 0
    Perl has more of a place in general shell scripting doesn't it? 🤔 I'd like to get a better grasp of it, if even only for its' regular expression functionality. 😁 — joebert
  • 0
    Yeah, Perl is much more common -- and arguably much more useful -- in the shell scripting arena. There are some web applications such as YaBB that are written entirely in Perl, but you don't see them as often as web apps written in other languages. — spork
  • 0
    Wow! Kind of surprised by this! Pretty sure a lot of web programming still done in Perl. You may want to take a few steps back and look at this list: http://www.masonhq.com/?MasonPoweredSites Notice Amazon.com there under "A" on the first screenful. I haven't bothered to read all of them myself. I just started using "Mason", but AFAICT Perl has been used embedded in HTML a la PHP and the rest of this list for a long time: <% my %hash %>. There's also a framework (Catalyst) which predates RonR and Python's Django. — mk27
  • 0
    Well, just so no one gets discouraged here, there are a couple of obvious reasons for Perl's popularity: 1) those languages are easier to learn 2) Perl is much more *nix based, hence MS users don't use it. Most servers are unix or linux servers; but most people who code at home use Windows. A lot of the "general scripting" that goes on on a server will be in Perl, so in that sense it's probably "the most popular" scripting language on a server box. 3) mod_perl is something you have to ask for, hosts don't give it to you by default. Perl is a bit of a pig, memory wise, but very "fast", eg, lite on the processor, which that is causal relationship. So it is not as if it is less "popular" because it is "not as useful", etc, since Perl is almost certainly a much more "powerful" language than (eg) PHP. Which is the reason that it is much used for general scripting, etc. And PHP and ruby were both derived from Perl. Also, please don't forget that at least 75%+ (okay I'm guessing) of contemporary cgi is still done in Perl. Which CGI is pretty much the original "server side scripting". — mk27
add a comment
1
Replied
Updated

PHP is easily learnt online so there are a few resources online that may be helpful with a Google search. Moreover, the PHP.net's documentation is probably the first place to get if you're stuck on something. Their documentation is one of a kind.

add a comment
0
Replied
Updated

I've got some experience with Spring/Hibernate/JBoss. They're fun to learn, too. Definitely flexible.

add a comment
0
Replied
Updated

Hats off to spork on the initial article. On the topic of PHP can I say online resources are great, however I think a book somehow feels like it is written by an author, author(ity). I have to shout out about Larry Ullman in particular on PHP and also Steven Holzner on PHP as learning resources - if you decide to go with PHP as your native web site scripting language.

add a comment
1