Hacker News new | past | comments | ask | show | jobs | submit login

From my limited experience with Ruby, I'd say it would be a step backwards for someone who knows Python. It will largely show them how things are done awkwardly in another language while attempting to solve similar problems. Something like C, as other posts have suggested, would teach a lot more in the same period of time.

I don't mean to diss Ruby too hard, but I don't see the points here as strong enough to detract from an argument for learning C.




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...)


Ugh. This is now a straw-man argument.


I wasn't aware we were arguing or debating, so I may have been a little sloppy.

Which part in particular would you like me to reformulate?


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.

jdennis@gmail


I also have some limited knowledge of ruby and i decidet not to learn it yet because i just don't like how it feels. I noticed that there are a lot of method calls in the tutorial i read. Something like object.method1.method.2 and from python i know that if you have more than one dot, you are mistaking somewhere. It might not be a mistake in Ruby, i know its supposed to look like UNIX pipes, but it just doesn't feel right. I wouldn't call it a step backwards though, for someone it might be, but for others ruby is superior, i just like python better and i will learn ruby some day. But for now C it is, but i will read my scheme book to the end first(its only 99 pages long).


You can use more than one dot in python. (Or is it bad style?)

You can even use more than one pair of parens sometimes:

fun()()

(If fun returns a function.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: