# From Python to Ruby

**URL:** <https://rubytalk.org/t/from-python-to-ruby/65403>\
**Category:** ruby-talk\
**Created:** [4 May 2012 16:25 UTC](https://rubytalk.org/t/from-python-to-ruby/65403 "2012-05-04T16:25:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![7stud2](https://avatars.discourse-cdn.com/v4/letter/7/9de053/32.png) [@7stud2](https://rubytalk.org/u/7stud2)\
**Post date:** [4 May 2012 16:25 UTC](https://rubytalk.org/t/from-python-to-ruby/65403/1 "2012-05-04T16:25:24Z")

</div>

Hi everyone!

I've been studying Python for a month or two but I didn't like it. I did  
some interesting things with it, though: I added some form of currying,  
pipelining and, eventually, code blocks.  
The reaction of the Python community wasn't very positive, to put it  
mildly, and I was accused of trying to ruin Python. Finally, someone  
told me to go to my OMG-RUBYCODEBLOCKS-FRIENDS and I understood what was  
happening.  
I would never have expected such a reaction, really.

I decided to follow the kindly-put invitation and here I am!  
I've read a few articles about Ruby and hey... I like it pretty much.  
It reminds me of Perl (which I learned before Python) but is much  
cleaner. It is much more flexible than Python and you can even build  
DSLs!

Python's community hate DSLs, by the way.  
Python is very high-level and yet, while using it, I began to miss many  
of the C++ capabilities that let you bend its syntax and do incredible  
things like those in the Boost libraries.  
I think that dynamic languages can do much more without all that noise  
(C++ templates are very hard to maintain). So, it's a pity when a  
language such as Python lacks many features just for the fear that they  
are misused or abused.

Anyway, a friend of mine suggested that I pick up "The well-grounded  
Rubyist" and then "Metaprogramming Ruby".  
What do you think of them?

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Florian\_Gilcher](https://avatars.discourse-cdn.com/v4/letter/f/57b2e6/32.png) [@Florian\_Gilcher](https://rubytalk.org/u/Florian_Gilcher)\
**Post date:** [4 May 2012 16:37 UTC](https://rubytalk.org/t/from-python-to-ruby/65403/2 "2012-05-04T16:37:57Z")

</div>

I heard only good of them.

If you already have programming experience, I can also recomment  
"The Ruby Programming Language", which is a nice run through the  
whole language. Its not much of a tutorial, but a good way to  
learn the language as a whole.

> **···**
>
> On May 4, 2012, at 6:25 PM, Massimiliano Tomassoli wrote:
> 
> > Anyway, a friend of mine suggested that I pick up "The well-grounded  
> > Rubyist" and then "Metaprogramming Ruby".  
> > What do you think of them?

---

<div class="post-metadata">

**Author:** ![Chad\_Perrin](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/chad_perrin/32/2234_2.png) [@Chad\_Perrin](https://rubytalk.org/u/Chad_Perrin)\
**Post date:** [4 May 2012 17:22 UTC](https://rubytalk.org/t/from-python-to-ruby/65403/3 "2012-05-04T17:22:27Z")

</div>

I have not read The Well-Grounded Rubyist, so I can't really comment on  
it. I'll comment on Metaprogramming Ruby along with others, with URIs  
for articles where I've reviewed them (to varying levels of detail)  
before this.

The following five books were very briefly reviewed here:

&nbsp;&nbsp;&nbsp;&nbsp;[http://blogs.techrepublic.com.com/programming-and-development/?p=3886](http://blogs.techrepublic.com.com/programming-and-development/?p=3886)

\* Everyday Scripting With Ruby is an excellent introduction to the  
&nbsp;&nbsp;language for people with an at least passing familiarity with  
&nbsp;&nbsp;programming.

\* Metaprogramming Ruby is a fantastic introduction to metaprogramming  
&nbsp;&nbsp;with Ruby, but you might want to have a more basic book about Ruby on  
&nbsp;&nbsp;hand before tackling this book. Unlike many books organized the way  
&nbsp;&nbsp;this book was organized (see Ruby Best Practices), this thing is  
&nbsp;&nbsp;eminently suitable to just picking it up and reading it straight  
&nbsp;&nbsp;through from beginning to end. It also stands up to re-reading and use  
&nbsp;&nbsp;as a reference when grasping for ideas on how to do something.

\* Programming Ruby is pretty comprehensive. It is a bit dry by the  
&nbsp;&nbsp;standards of most Ruby books, but pretty engaging by the standards of  
&nbsp;&nbsp;most other languages' popular books, and the wealth of knowledge buried  
&nbsp;&nbsp;in it is invaluable. It is definitely not for people new to  
&nbsp;&nbsp;programming.

\* Ruby Best Practices is a great book for expanding your knowledge of  
&nbsp;&nbsp;Ruby some time after you've got a little bit of Ruby time under your  
&nbsp;&nbsp;belt, and it's great for jumping around in it to read the parts that  
&nbsp;&nbsp;happen to interest you Right Now. It conveys some real sense of how  
&nbsp;&nbsp;real, talented Rubyists write code, as a means of imparting an  
&nbsp;&nbsp;appreciation for good Ruby code on the reader.

\* The Ruby Way is a cookbook that contains so many examples of how to  
&nbsp;&nbsp;accomplish basic tasks that one might be able to build a career as a  
&nbsp;&nbsp;professional Rubyist on just reproducing the snippets contained in it  
&nbsp;&nbsp;and tying them together into programs (maybe). The best thing about  
&nbsp;&nbsp;it, though, is the way it uses these recipes to illustrate idiomatic  
&nbsp;&nbsp;Ruby coding styles.

Five other books were also reviewed there, though I tried to pick out a  
selection that I thought would be most relevant to the sense I have of  
what you want/need based on what you've said here.

The following two books were reviewed here:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[blogstrapping](http://blogstrapping.com/?page=2011.194.11.46.40)

\* Eloquent Ruby is a great book for both people new to Ruby with at least  
&nbsp;&nbsp;a passing familiarity with programming \*and\* for people who have been  
&nbsp;&nbsp;writing code in Ruby for a while and want to make sure they haven't  
&nbsp;&nbsp;missed anything important.

\* The Book of Ruby is a terrible book that tries to teach the reader bad  
&nbsp;&nbsp;habits, includes code formatted in such a way that it is fairly  
&nbsp;&nbsp;difficult to read, and explains things in a kind of haphazard manner  
&nbsp;&nbsp;prone to digressions on irrelevancy and generally fails to do a very  
&nbsp;&nbsp;good job of teaching people how to program well in Ruby.

I hope that helps.

> **···**
>
> On Sat, May 05, 2012 at 01:25:24AM +0900, Massimiliano Tomassoli wrote:
> 
> > Hi everyone!
> > 
> > I've been studying Python for a month or two but I didn't like it. I did  
> > some interesting things with it, though: I added some form of currying,  
> > pipelining and, eventually, code blocks.  
> > The reaction of the Python community wasn't very positive, to put it  
> > mildly, and I was accused of trying to ruin Python. Finally, someone  
> > told me to go to my OMG-RUBYCODEBLOCKS-FRIENDS and I understood what was  
> > happening.  
> > I would never have expected such a reaction, really.
> > 
> > I decided to follow the kindly-put invitation and here I am!  
> > I've read a few articles about Ruby and hey... I like it pretty much.  
> > It reminds me of Perl (which I learned before Python) but is much  
> > cleaner. It is much more flexible than Python and you can even build  
> > DSLs!
> > 
> > Python's community hate DSLs, by the way.  
> > Python is very high-level and yet, while using it, I began to miss many  
> > of the C++ capabilities that let you bend its syntax and do incredible  
> > things like those in the Boost libraries.  
> > I think that dynamic languages can do much more without all that noise  
> > (C++ templates are very hard to maintain). So, it's a pity when a  
> > language such as Python lacks many features just for the fear that they  
> > are misused or abused.
> > 
> > Anyway, a friend of mine suggested that I pick up "The well-grounded  
> > Rubyist" and then "Metaprogramming Ruby".  
> > What do you think of them?
> 
> --  
> Chad Perrin [original content licensed OWL: [http://owl.apotheon.org](http://owl.apotheon.org) ]

---

<div class="post-metadata">

**Author:** ![7stud2](https://avatars.discourse-cdn.com/v4/letter/7/9de053/32.png) [@7stud2](https://rubytalk.org/u/7stud2)\
**Post date:** [4 May 2012 19:12 UTC](https://rubytalk.org/t/from-python-to-ruby/65403/4 "2012-05-04T19:12:17Z")

</div>

I decided to read "The Ruby Programming Language". Thank you both.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
