[Tutor] Help deciding between python and ruby

David Kim dkdropbox at gmail.com
Sat Sep 5 02:18:15 CEST 2009


On Fri, 2009-09-04 at 06:18 -0700, dan06 wrote:
> I'd like to learn a programming language - and I need help deciding between
> python and ruby. I'm interesting in learning what are the difference, both
> objective and subjective, between the two languages. I know this is a python
> mailing list, so knowledge/experience with ruby may be limited - in which
> case I'd still be interested in learning why members of this mailing list
> chose python over (or in addition to) any other programming language. I look
> forward to the feedback/insight.

I'm a non-programmer that went through this process not too long ago
(leaving a broken trail of google searches and books in my wake). I
looked at a number of languages, Ruby included. I chose to focus on
Python first because of it's relatively clear syntax and what seems
like more mature scientific modules/distributions (Scipy, Numpy, EPD,
Sage, and related packages). Much of the secondary material I found
for Ruby focused on Rails and web-related endeavors (tho people
obviously use Ruby for many things). Of course, Python offers its own
web frameworks (e.g., Django, web2py) and probably plenty of other
packages I haven't even encountered yet.

I have no pet peeves when it comes to syntax (e.g., some people don't
like significant whitespace, etc.). I was just looking for 1) a
language that isn't too hard to learn and 2) a language that is
flexible enough that future exploration/growth wouldn't be a huge pain
in the ass. So, for example, pulling and storing data is relatively
straightforward, but can I analyze it? If I do that, can I visualize
the analysis? And can I automatically generate a presentation using
these visualizations if I want to? If I then want to convert this
presentation into a data-driven website, can I do that? Etc., etc.,
etc...One can do all of this in any language, but Python offered the
best productivity-to-PITA ratio (to me, at least).

So it all obviously depends on what you want to do, but those were my
reasons. Both Ruby and Python were attractive, I just decided that
Python's scientific ecosystem was the deciding factor. I am now
looking at R to plug some holes, since no language is perfect ;) I'm
interested to see how the MacRuby project develops as they are moving
to an LLVM-based architecture that is expected to improve Ruby's
performance a lot (mirrored by similar efforts by the JRuby team and
others). I'm getting a bit out over my skis now, so I'll stop there.
Hope it helps,

dk

-- 
morenotestoself.wordpress.com
financialpython.wordpress.com


More information about the Tutor mailing list