views:

1628

answers:

5

I have worked on some small web development projects where the server side languages have been PHP, Java and Lisp. Now I want to learn web development seriously. I don't want to use platforms based on PHP or Java. I also want to learn Python in general. Ease of implementation and learning value is more important to me than real-world implementation concerns like scalability. Yet, I do want to make useful websites.

I have some specific questions :

1) Is Python a good language for web-development in terms of existing support for it in the form of libraries? If it is, which framework should I use ?

2) Should I rather try Ruby and Ruby-on-Rails ?

Update : I have decided to go for Django. Let's see how it turns up.

+5  A: 

It looks to me like you answered your own question. You don't want to become expert at PHP or Java. You want to learn Python. There's your answer. All are tools upon which excellent web sites have been built, and Ruby/RoR (and other options) don't interest you as much. Nor do they have any overwhelming benefits.

You'll probably find that the consensus framework will be Django.

le dorfier
+10  A: 

Well, this question gets asked quite often on here, so I will redirect you to the appropriate links:

Related on StackOverflow:

Also see:

Bottom line? There is NO wrong choice. Pick one and GO!

As far as your exact question, I am of the opinion that Python is very good for web development. If you were to go down that route, I am personally a huge fan of Django and think it is quite terrific.

Paolo Bergantino
No wrong choice? I strongly disagree with that: what if I choose C? Not a scripting lang? how 'bout TCL? Powershell? Were you restricting your comment to Python vs. Ruby? Twitter just switched from Ruby to Scala....
ja
... Thank you for taking me at my word, but I meant between Python and Ruby. I would imagine if you are one of the heavyweights of the internet the circumstances may change, but for 99% of us mortals what tool we use to make our websites is pretty irrelevant.
Paolo Bergantino
My question is specific to application of these languages to web development. That's why I have asked about package/framework support for them and about the ease of development. It has nothing to do with the general questions you have referred me to. But thanks for answering anyways.
euphoria83
"nothing" to do is a bit of a stretch. How is "Interested in Collective Programming for the web — Ruby or Python or PHP?" not related to your question? If you go through most of those links, you will have your question answered. And the answer is my bottom line: pick the one you want and go.
Paolo Bergantino
Can you make the fonts a bit bigger? Thanks.
Luca Matteis
I can't tell if that's sarcasm or not... :s
Paolo Bergantino
A: 

I'd suggest you look at Scala. One data point: Twitter is switiching from Ruby to Scala.

ja
A: 

They haven't moved to Scala, just offlined their message queue to Scala.

mitkok
A: 

I really think you should re-examine your question - this isn't an either/or. PHP is perfectly capable of being used for 'serious' web development. It's true that the language is something if a mess (although not so much of a mess as it's detractors would have you believe) and tends to fall into the hands of amateurs who produce some truly dreadful code, but there really is no problem writing well structured clean code in it if the effort is made. Balanced against that is the absolute wealth of libraries and code available for it - if you've a problem that you wish to solve there's always some example PHP code out there somewhere.

Of course a decision to use Python or Ruby as your main language is a good and reasonable one which has advantages too, but I do urge you not to artificially constrain yourself. Be pragmatic - as a programmer the language really shouldn't matter too much to you. For example I'm just about to implement a 'LiveChat' facility on a client's site and I've decided to go with Crafty Syntax Live Chat because of what it offers out of the box. It's written in PHP, but I really don't care - if a better solution was available but in Python I'd have gone for that.

Cruachan