Jon Slaughter wrote:
I'm trying to get into web development for creating a professional web site
and I'm confused on which language I should use. I've read some comparisons
between the major languages and I was thinking that python might be the way
to go for the most powerful and general language but I am not sure.
If you are really interested in the "most powerful and general", then
Python is one of only perhaps several options. I wouldn't bother
counting something like C++ in the mix, personally... I'd say doing web
development with C++ would warrant a quick visit from those nice, young
men in their clean, white coats.
Perhaps the following pages will be of some assistance, not directly in
comparing Python with something else, but with giving the flavour (and,
unfortunate or not, diversity!) of Python approaches:
http://www.fredshack.com/docs/pythonweb.htmlhttp://www.boddie.org.uk/python/web_frameworks.htmlMichelle Levesque has been comparing several of the most popular in a
"bakeoff" at
http://pyre.third-bit.com/pyweb/index.html .
Does
anyone know of any detailed and objective comparisons between the major
languages(perl, php, java, javascript, etc...) that might help me get a
clearer picture?
No, sorry. I can say, however, that if you want "general purpose" you
do not want PHP. In fact, if you're a real programmer you probably
don't want PHP. Perl... well, enough has been written about the
unreadability of Perl code and the number of ways its arbitrariness can
get you into trouble that I'm not going to waste time adding to it.
Javascript shouldn't be considered a serious contender for the
server-side stuff, though you will quite likely _require_ it for the
client side stuff, so keep it in mind but try to minimize your use of it
and postpone it as long as you can. (It's not actually that bad a
language in many ways, and even has a bit of the same flavour as Python
from time to time, in its dynamic nature.) Java? Well, a large number
of us here (me included) have spent a fair bit of time with Java and,
well, we're here now. (Really, Java is likely a much better candidate
than C++ for many reasons. If you are down to a choice of two to make,
I suspect it will be between Java and Python, or perhaps Ruby thrown
into the mix.)
Also, can anyone recommend any book or web page that gives an introduction
to the method in which one programs web sites? I am not clear on who one,
for instance, would use C++ as the language for a web site except by using
it to create html... I'm not sure if basicaly all languages goal is creating
html dynamically or if there is more to do. What I mean is that basicaly
one is using some other language to wrap the html code or possibly generate
it at run-time for dynamic results. (so all client based web interfaces are
really just html readers but all this "extra" stuff is used to make certain
things easier and dynamic(just as generating tables and forms and all that).
That's not a particular bad description. You're really starting from
scratch here, aren't you? <grin> My advice, since you have such a long
way to travel, is to use an "agile" approach and start with some small
subset of your overall requirements, the most critical/valuable part,
and pick any of the favourite Python frameworks and see how far you can
get. If you like the way it went, pick the next most valuable part and
then do it. (Keep these down to only a day or two of programming or
you'll get bogged down.) The "PyWebOff" page above is actually an
excellent demonstration of the approach you should take, and it's
already been done by someone else for three or four different frameworks!
-Peter