views:

336

answers:

3

I have done the front-end of my design, but I have no experience in web programming. Would like to pick up a language asap so that I can deploy the product. Which is faster to pick up between the two? I know there is always debate in which is better. I think either one serves well for me, but I want to know which one is easier to learn, so that I can get my site up asap. Oh, I need Ajax too. Thanks.

Update: I am proficient in HTML, CSS, Joomla, Wordpress. Just no web programming experience whatsoever. I have setup several sites up.

+7  A: 

There is no good answer to this without more background on you, and even then it is going to be nothing more than a guess.

Either language can be learned depending on your own experiences. Both have similar abilities with a natural language type syntax. The two frameworks you list are similar as well.

The real way to decide this is to read through the language tutorial of each one and see which feels better for yourself.

If you are looking to actually deploy a solid product however, it would be a far better option to find yourself a good programmer or company to build it for you. They will be more aware of the limitations, features and best practices of their own chosen framework and toolchain.

wlashell
I agree. Work through a tutorial in each. See how you feel. Do two or three tutorials, take the whole weekend if you like.
Bryan Ash
+1  A: 

I start playing with both and choose Python/Django as it was easier for me.

sebastian serrano
That is a good choice. I agree that Django is initially easier for beginners.
jpartogi
+4  A: 

I agree that there is no real good answer to this, however the philosophy of the frameworks is slightly different - which lines up with the philosophies of python and ruby.

In Ruby/Rails, convention is considered better than configuration.

Rails does a whole load of things for you without telling you what it's doing. Objects have a method called method_missing which will allow you to run methods that have no real "definition". For instance, when I use the new_user_path method in Rails, there's no actual method called new_user_path anywhere. It's being created based on a route to something else. If you ever need to find where something is happening in Rails, it can be a nightmare. That said, it doing a lot of things for you is extremely handy.

In Python/Django, quoting from the "The Zen of Python, by Tim Peters" (you can see it by typing import this into a python console)

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.

It's namely the "explicit is always better than implicit" and the "flat is better than nested" items where python and ruby differ wildly. Ruby blocks are a fundamental structure in Rails that create extremely deeply nested constructs.

That said, I have not used the Django framework thoroughly, so it's possible it doesn't conform to the same conventions as python.

It comes down to a matter of preference, really, but understand what you're getting into is always good.

Jamie Wong