Both Ruby and Python's approaches are beautiful, just in different ways. The reason I suggest learning Ruby is because in learning to see that you'll see why, and be a better programmer for it.
And that isn't an argument _against_ C. Everyone needs to learn C. Go for it. But I think that Python and Ruby programmers stand at a distance and both look down on each other, and most of that is because of social and not technical reasons. Pythonistas spout crap about readability and Rubyists spout crap about OO-ness. Both have something to teach.
You might get angry reading this comment and say, "That KirinDave is so arrogant! He's implying I'm _not_ a good programmer and that by learning Ruby I will be a better one." But really you're the one who opened that can of worms by saying "a step backwards for someone who knows Python", and talking about "awkwardness." By saying that, you've basically said that thousands and thousands of smart programmers are totally wrong and wasting their time.
And it's not true. The programming language that's so bad it has nothing to teach is a rare bird indeed. Ruby and Python are so instructive because of how similar-yet-different they are.
One of the "interesting" things I see in ruby is that people are happy to accept any suitable way of doing something, whereas in python there is general demand for more language or official support.
eg Ruby has no named params, no biggie, just use the convention that you pass around hashmaps, something like
foo :bar => 42 etc etc....
close enough for rocknroll. In python they wouldn't necessarily like that, and named params are available (I am just making this up, they could have been in there for the start, but my point remains...)
It's ok man. No need to have a flame-war here. I consider anyone with a different viewpoint to be offering an argument against my pov. It's not vicious or aggressive, but still an argument. :)
I'm down to have the debate in another forum if you'd like. It's a good chance to learn some more about Ruby.
And that isn't an argument _against_ C. Everyone needs to learn C. Go for it. But I think that Python and Ruby programmers stand at a distance and both look down on each other, and most of that is because of social and not technical reasons. Pythonistas spout crap about readability and Rubyists spout crap about OO-ness. Both have something to teach.
You might get angry reading this comment and say, "That KirinDave is so arrogant! He's implying I'm _not_ a good programmer and that by learning Ruby I will be a better one." But really you're the one who opened that can of worms by saying "a step backwards for someone who knows Python", and talking about "awkwardness." By saying that, you've basically said that thousands and thousands of smart programmers are totally wrong and wasting their time.
And it's not true. The programming language that's so bad it has nothing to teach is a rare bird indeed. Ruby and Python are so instructive because of how similar-yet-different they are.