From: Mike Sassak Date: 2001-10-26T15:28:52+09:00 Subject: [ruby-talk:23402] Re: Ruby and Python: a fuzzy question On Fri, 2001-10-26 at 00:21, Dave Thomas wrote: > So, here's my question. As Paul Prescod has said, Ruby and Python are > fairly similar in many significant ways. Despite this, I personally > have never managed to get excited about Python, but liked Ruby so much > I wrote a book about it. Other folks have the opposite experience, > loving Python and not finding much to thrill them about Ruby. Why is > that? Is it some kind of personality clash between the language and > the programmer? Is it liking what you're used to? Is it liking or > disliking the philosophies of the languages' designers? Or is it > something else? I'll start right off here by saying that if you're turned off by philosophical and/or literary analogies about languages, stop reading now. :) While the utilitarian arguments/reasons for/against language X can go back and forth, (see the "Bruce Eckel" thread for a good example) I think that the attraction to language X rather than language Y comes down to an aspect of what I'm going to be all pretentious and refer to as the "programming language dichotomy". Any programming language, I think, inherits the good and the bad features of both writing and mathematics/logic. The logic of programming can't be divisive because a program _must_ be inherently logical to work properly. If it compiles, it is logical, and if any person A has a problem with rigid logic, they probably aren't going to enjoy programming much, or be very good at it at all. That much is self-evident. But what of the writing aspect? Two programs written in different languages can exhibit very distinct "style" - which is something no mathematical formula has. _I_ think that the attraction of programmer X to language Y comes down to something intrinsic in the language itself. For me, and for many other people on this ML, I'm sure, the "Ruby Way" is inherently appealing, even beautiful. A helpful analogy, I think, is between great authors. Take James Joyce and Vladimir Nabokov. Both are considered masters of language, (in fact, those two are probably the greatest authors of the 20th century) but each, for whatever reason, has their own style which, for them was the _vehicle that best allowed them to put their thoughts to paper_. Joyce pioneered the stream of consciousness, while Nabokov was much more eclectic, though his finished prose was always polished until it could nearly blind. What the hell does this have to do with programming then? Well, I think that like the different writing styles, each language is a vehicle, and programmers gravitate toward the one that best (to cop a phrase from the Python camp) "fits their brain". That makes the distance from conceptualization to running code shortest. Now, if I were to go further, no doubt I'd have to ask the question of what constitutes beauty in a programming language, and _that_ is something that's just not answerable, (though some would try). It comes down to the "X" factor, to trying new languages until you find the one that "fits your brain". When you're having fun writing every line of code, you've found what you think is beautiful. Every line of Ruby is write is fun. So, I choose Ruby. -mike p.s. Sorry for the long winded reply. It's late, and I'm a liberal arts major. :p