I want to learn a new language...

Hans Fugal hans at fugal.net
Wed Feb 14 15:57:10 MST 2007

On Wed, 14 Feb 2007 at 15:26 -0700, Bryan Sant wrote:
> It seems to me that Ruby/Perl/Python all fill the same niche.

Then you truly do not understand the world. The world is not Java vs. C
vs. the script kiddies. 

> In my
> opinion, learning one of them gives you most of the benefit of any of
> them.  I'd just like to know which one would best jive with me.  Any
> project I pick would be equally applicable to every language I listed.

Perl is completely and utterly different from python and ruby at its
core (or vice versa as perl was here first). Python and ruby are perhaps
more alike, but still fundamentally different in their spheres.

In one sense, moving from Java to any scripting language will give you
considerable benefit/insight/whatever, in another sense that is just the
tip of the iceberg. I suppose you have to take that first step though.

Note, I am not saying scripting languages are better than
compiled/virtual machined languages. Indeed I would say the line is
harder to draw all the time. Ruby is getting a virtual machine in the
near future. Ruby and Java have a fascinating and fast-moving merger in
JRuby. Python already has bytecode. Who knows what perl6 has in store
(Jayce^, probably). I frequently consider projects that I would only do
in C (perhaps C++ or Java), and others that I would never do in anything
but Ruby. 

That said, I haven't seen anything yet that drives me to learn python,
as I already know Ruby. I bet a lot of snakes feel the same way about
the red gem. I once could code my way out of a cardboard box in perl,
but these days I just use ruby. I think perl would be more applicable in
some applications, but I either don't play in those arenas or the effort
involved in remembering perl isn't worth it to me.

My own recommendation based on my personal preference is Ruby. I do have
substantiatable reasons but I frankly am tired of evangelising things to
people who will mostly turn around and do what they like based almost
entirely on emotion or convenience. (This goes for *NIX, vim, mutt,
top-posting, etc. It's not that I think evanglising is bad or
unimportant, or that I won't turn around and evanglise stuff in a
day/week/month/year. It's just that I'm tired of doing it)

I think Ruby would be a good fit for you because of JRuby. It's a
fast-moving project with some amazing potential (including addressing
the speed issue and interop with existing and future Java code), and
now with paid full-time developers thanks to Sun.

Ruby has, imho, the most supportive fun fantastic community (aside from
the more traditional buzz of the rails community), and the most
mind-bending paradigm shifting power (that's a good thing) of any of the
alternatives except perhaps smalltalk. There's my plug.

1. http://jruby.codehaus.org/

Hans Fugal ; http://hans.fugal.net
There's nothing remarkable about it. All one has to do is hit the 
right keys at the right time and the instrument plays itself.
    -- Johann Sebastian Bach

More information about the PLUG mailing list