Advice on choosing server-side scripting platforms

Since this is a recurrent theme (a question along the lines of “What server-side language should I learn?” is started approximately once a month), I thought it might be helpful to create a single thread (a one-stop-shop if you will) listing useful sources of information to aid this decision-making process…

First off, some pages that provide a pro/con analysis (and brief discussion) of each of the following scripting languages/platforms (with an eye on XML support too):
ASP

(http://wdvl.internet.com/Authoring/Languages/XML/PracticalXML/practicalXML3_3.html)
[JSP](http://wdvl.internet.com/Authoring/Languages/XML/PracticalXML/practicalXML3_4.html)

SitePoint resident Kevin Yank has also written some articles on this topic:
http://www.webmasterbase.com/article/265
http://www.webmasterbase.com/article/546

Here's article on the particular topic of .Net vs PHP, followed by the thread started in response to it:
http://www.sitepoint.com/article.php/870
http://www.sitepointforums.com/showthread.php?threadid=75177

I have also drawn together numerous past threads where this topic has (IMHO) been discussed in a constructive, balanced way or contains one or more particularly good posts on a particular language, so be sure to read each thread in its entirety. They are presented in no particular order:
http://www.sitepointforums.com/showthread.php?threadid=38364
http://www.sitepointforums.com/showthread.php?threadid=15799
http://www.sitepointforums.com/showthread.php?threadid=81713
http://www.sitepointforums.com/showthread.php?threadid=40319
http://www.sitepointforums.com/showthread.php?threadid=48354
http://www.sitepointforums.com/showthread.php?threadid=58412
http://www.sitepointforums.com/showthread.php?threadid=58291
http://www.sitepointforums.com/showthread.php?threadid=67474
http://www.sitepointforums.com/showthread.php?threadid=65968

In order to stop this becoming YET ANOTHER discussion thread, I have asked an administrator to make it "Important" and lock it.

Furthermore, if you would like to contribute any links that I have missed, please send a Private Message to a member of the Programming Team.

I only came to a decision about which programming language to go with when I started getting Kevin Yanks, Building a Database driven site using PHP and MySQL, article in the SP newsletter and decided to follow that through.

K. Yank’s article Which Server-Side Language Is Right For You? was helpful to me when I was choosing.

At the end of the day all the major ones (asp, php, JSP) etc are very powerful and capable and it comes down the personal preference, which style you feel most confortable using etc.

For budding PHPer’s I really recommend K. Yanks book: Build Your Own Database Driven Website Using PHP & MySQL

another useful articles

<snip/>
http://www.kamat.com/colophon/greenroom/tech-stuff/asp-php.htm

While it is not my favorite by any means, I think for the choices to be balanced, we need to consider ColdFusion as well. There are a handful of situations where this might just be the right scale of programming platform for a starting developer or a small/medium scale project.

Ruby on Rails is also something you should check out.

Plone and <snip/> are two toolkits that should be looked into as well.

Yes and no. I think debates on which language is better are pretty dumb. But there are often significant differences between the platforms/frameworks available for each language. Plone is one example where it’s trivially easy to do stuff that’s quite hard in competing ASP.NET or PHP systems, even if the languages used to build them are fundamentally similar.

Python links
http://wiki.python.org/moin/WebProgramming
http://wiki.python.org/moin/WebSolutionComparison

OCaml links
http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=16
http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=89
http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=4
http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=124

One of the problems with this thread is that the title refers to “scripting languages” but the introductory message asks “What server-side language should I learn?”. This introduces an ambiguity because in web development not all the server-side programming is done with “scripting”.

“Scripting” usually refers to CGI scripting, i.e., processing GETs and POSTs from pure HTML or HTML/AJAX clients.

But nowadays a lot of web development is done in Java and C# where the application is divided between the client and server and on the client side it’s making function calls to routines on the server and getting return values, EXACTLY as though the called-methods were local, only all the marshalling and unmarshalling is handled behind the scenes so the programmer doesn’t have to do it. From a programming standpoint this is a very different paradigm from CGI. My guess is that 5-10 years from now most web programming will use this model.

So when someone is considering what server-side programming language they should choose they first have to consider which of these architectural models they expect to use.

Lasso defenitely has to be included in this list. Here are some links for further information:

The archives of primary community list, LassoTalk:
http://www.listsearch.com/LassoTalk.lasso?tab1=about

An open forum for ideas, solutions and articles on Lasso and web
solutions in general:

Should speak for itself:
http://www.lassoforge.com/

A forum for exchange of developer names, jobs and code:
http://www.lassoscripts.com/

A forum for exchange of socalled custom tags and custom types, Lasso’ish for ‘functions’ and ‘classes’:
http://www.tagswap.net/

A web application framework for highly professional developing in
Lasso - free of charge:
http://www.pageblocks.org

The company developing and selling Lasso, OmniPilot:
http://www.omnipilot.com/lasso

Learning stuff for beginners from OmniPilot:
http://www.omnipilot.com/Resources+for+Beginners.2225.lasso

Projects ect made with Lasso:
http://reference.omnipilot.com

Best wishes - Nikolaj/Music&Media

http://www.opensourcecms.com has demos of almost all CMS packages around.

My .02s are that it may be helpful to know who you’re going to be doing work for…

ASP/.net - Government and Private sector companies with deep pockets (most of Fortune 500), and non-profits that are MS centric.

JSP - Specialized technology firms, contractors to the Feds or Military sectors, usually very large & and long established companies (ie. Gieco) and a lot of firms in the wireless/PDA world.

PHP - Non-profits, startups, small/mid-sized firms, ISPs, technology innovating firms, new media firms, large universities, cool kids, and the rest of the entire world.

Disclaimer, these are just my personal experiences doing web dev work here in Washington DC. You results may vary… widely.

I found this scheme of programming languages history, I think some might find it interesting:
http://www.levenez.com/lang/history.html
actually seen it in a fancy Silverlight edition, but that was on a commercial site and I don’t feel like posting the link here.

My contribution:
an important factor is that all of the major languages are cross-platform. I’ve just been reading about mod_mono and it’s been constantly improved since 2004. My point is, people with different backgrounds don’t need to stick to their platforms.
If I had to pick one now, though, I’d say ASP.Net because it’s the most rewarding. Using stuff like Visual Studio Express and mod_mono for hosting, breaks the myth of ASP.Net being so expensive.
But that’s just if i had to pick one framework. Besides, I use Linux all the time now.
I’d say that learning as many languages as possible might be the best way, though time-consuming.

You might also enjoy these series of articles:
You Used THAT Programming Language to Write What?!

There is a wide variety of languages, not just the ones discussed in the OP’s statement…

ASP (Classic)

PHP
JSP
Coldfusion (Supprised no-one mentioned this earlier)
Lasso
Perl / CGI
OpenLaszlo
Python
Ruby
Smalltalk (Seaside/Squeak)

Personally I feel each have their own advantages and disadvantages but I tend to naturally incline towards PHP & mySQL if im doing general purpose scripting or Python/Ruby if I require something with a bit more intensive coding. :slight_smile:

How about this guys
http://www.thewhir.com/article-central/Choosing_the_right_server-side_scripting_language

hey guys what do u think about the flash action scripting along with flex today in the market flex are very demand language for the online gaming program.

At the end of the day all the major ones (asp, php, JSP) etc are very powerful and capable and it comes down the personal preference, which style you feel most confortable using etc.

For budding PHPer"s I really recommend K. Yanks book: Build Your Own Database Driven Website Using PHP & MySQL

<snip/>

only ASP…there are manyyyy advantages which i can tell for asp … php has noe debugging as asp is best in debuging and asp give more serverside coding then others …sp is simple and we also have full support in coding on every single event
regards
Andy