[ale] Ruby vs C, a non-technical chat

Dylan Northrup ale at doc-x.net
Thu Aug 6 10:38:15 EDT 2015


On Thu, Aug 6, 2015 at 9:44 AM, James Sumners <james.sumners at gmail.com> wrote:
>
> That's an important bit of information. Under such circumstances my
> preference is for Python. I just like the language better (truly, I can't
> stand the sight of Ruby). As for contrived performance, they're pretty much
> even -- http://benchmarksgame.alioth.debian.org/u64/ruby.php

Glad to know you're using objective criteria for your evaluation of
languages.  I think semantically important white space is one of the
stupidest ideas to ever be implemented in any scripting language and
prefer Ruby over Python (having come to it from Perl).  I also like
flexibility in my approach to solving a problem, something that seems
antithetical to the Python philosophy where there's One True Way to
solve every problem.

I do systems scripting for a large portion of my day job.  I find a
lot of the work I do is in bash/shell since "it's everywhere".  The
next fallback is ruby as we're a Chef shop and it's on all my systems.

> One of the things to consider is who else will have to maintain your code?
> Which languages do they prefer or are proficient with? Around my shop we've
> had a Ruby guy leave which meant all his stuff died because no one knows the
> language (or cares to).

Did his code do something important? Was it important to the business?
 If so, it doesn't matter whether or not someone "cares to" maintain
it or not.  Hell, there's a ton of code I'd love to re-write, but a)
it works, b) it's business critical and c) I'm too busy doing other
work to get into a pissing match about whether or not it's written in
a bad language and needs to be re-done in a good language.

A couple of years ago I came upon some Python code someone had written
"because they wanted to learn python" and it was in a production
workflow.  One of the assumptions they had made was no longer true.
Their tool needed to be updated to account for the changed
environment.  Not being a fan of Python I had the choice to a)
reimplement the entire tool in a language I preferred or b) hold my
nose at having to deal with python, fix the issue, get things back in
order and get back to the other dozen things in my queue.

If you known Perl, Ruby's easy to pick up.  Hell, if you know C,
Ruby's not that difficult with a few hours to read up on things.  I'm
learning Go right now for a personal project.  It ain't that hard.  If
you implement a non-trivial tool in a language, you should know enough
to be able to work in it.  You won't be idiomatic, but you'll be
useful and be able to make your way around if you have to understand
other people's code. . . . unless you simply refuse to.  Then no
amount of study will bring enlightenment.

-- 
Dylan Northrup
"Adversity is just change we haven't adapted ourselves to yet."
  - Aimee Mullins


More information about the Ale mailing list