Mike S. wrote:
I have never seen or heard of Ruby in a corporate context. The single
exception (where I first came across it) was a supplier who was using
it with Watir for testing a Java application.
If you supply services to corporates, what sort of case can you make
for using Ruby rather than Java, which is in use everywhere? (I’m not
thinking of Rails here, which is a rather specialized).
Why Java? Why Python? Why Perl? Why PHP? Why fill in the blank?
There is no why. Ruby has been around a while. Some people like the
syntax of the language. Some people don’t. Ruby has been getting more
popular compared to some languages that have been around longer, or
that have seen they busiest days. I doubt any of them are going
anywhere, and at some point, maybe soon or maybe not soon, some other
language will be the more hyped one, and people will start using it
more. It might be a new one, or one with a new service or framework,
or just something else to make it more exciting (even if it’s been
around a while).
People might see it as more interesting, more aligned with their ideal
of how a language should be designed, or think it’s the next big thing.
If you don’t like ruby, that’s cool. There are a lot of good,
effective languages. Maybe you’ll never see a request or demand for
ruby development in the companies you work for, or when you look for a
job? Maybe you’ll end up looking for a job and find that a bunch of
companies you’re considering all want ruby developers? Maybe they’ll
say “or another language” or they might have their entire project
dependant upon you knowing it really well. The same can be true of any
language, it might depend on the job and company, or the specific
field, though.
There’s no reason to learn ruby if you don’t want to. Plenty of people
still use other languages and will continue to. You might not ever
miss an opportunity, but you also can’t try and excel at all of the
most used or hyped languages (regardless if they deserve the hype of
not), because you’ll never get really good at all of them and new stuff
comes out all of the time. I first started looking into ruby probably
back in '95 or '96, but never got into it then. I dabbled a little,
but didn’t get into it. I liked Perl too much (I still like it better
than Ruby, Python or PHP), but when the ruby on rails framework buzz
hit, a lot of people jumped on it quickly (at least it seemed). I
don’t recall anyone I knew that programmed knowing what ruby was in
around 2001 or 2002, but in 2003-ish, it started to take off. Don’t
let the popularity of a language make you think it’s more of less
worthy. It might be worth investigating if it gets popular, so you’re
not at a disadvantage though.
I worked for a company that had a project in Perl. Worked fine, Perl is
a great language. They wanted it all changed to heavily OO Perl code.
Fine, so that is nearly done. Then they said they wanted it in
mod_perl with Mason. Fine. Then it was a project in PHP. Okay. Then
they dropped that and wanted it done in Python. I’m not great at
Python coding, so that wasn’t fun, but that was short lived and the
company owner got all hot and bothered about Ruby on Rails when it was
really first hitting sites like slashdot. My head sunk. Instead of
getting the job done, the owner was more interested in new, interesting
things (to him), and out of all of the coders on the team that were
experts in C, C++, Python, Perl, PHP, we all had to stop and learn
ruby. I quit that week.
I mean, I get paid, I’ll do whatever the boss wants, but when things are
ignored and projects never get done and you have a company owner
telling his entire client base that this massive project will be done
in 1 to 2 weeks time, expecting everyone to learn a new language and
have the code be secure, stable and efficient, from scratch, that’s too
much stress. We literally got the news one day in a meeting and were
told we’d get bonuses if we stayed up through the night, in some vain
hope we could roll out a major update in a new language (to us), using
a new web framework, and actually have a working, productive project.
I slept that night while everyone spent the next 2 months straight
trying to get a handle on that one single portion of the project that
would have taken a matter of hours in a language everyone knew already.
Obviously this wasn’t the fault of ruby, but it really made me dislike
the whole idea of it.
The point is, sometimes you have to ask yourself “why”? Sometimes it’s
to add another language to your resume, sometimes it’s to actually work
in it, see what the benefits are, and sometimes just to be prepared to
be able to handle what’s thrown at you. Some people enjoy it a lot and
even despise languages I personally like better. Maybe they had a boss
with their heads in the clouds that went the way of the latest buzz,
too? I think the initial exposure to certain technologies are what
primarily affect a person’s view. However, at some point, you have to
(hopefully it’ll be quick) just take it for what it is and try and look
at it without bias or comparing it to the languages you already know.
That is, needless to say, few people have a good reason to learn
another language (to the point where they are truly good at it), if
they already know other languages where they can do anything they want,
and do it well (being efficient, secure and stable).
So, don’t let anyone or any buzz or web sites that are for or against it
sway you. For whatever reason, you’re here, so you’ve heard of it. If
you feel it might be something in demand in your field, maybe look into
it. Maybe it’ll be a language you’ll enjoy, or maybe it’ll just never
agree with you? Personally, I like it, but I like a lot of languages.
Ruby isn’t my favorite, though. Same with PHP – it’s not my #1
choice, but I like it enough to use it. Knowing them (and others)
comes in pretty handy regarding web related programming topics and
projects. Be it a client asking for help because their script isn’t
working, or maybe a project you got because you at least showed the
company that you have an open mind and are willing to work with the
choices they’ve made? I’ve found that a little goes a long way with
things like that.
I’ve told people point blank that “I can code this in PHP or Ruby”, but
that I “strongly prefer Perl”, and thus can develop the project faster,
and feel more confident about my code. That’s not to say I suck at PHP
or ruby, but that I’ve been coding in Perl since maybe 1992-ish, and
I’m probably always going to know it better and feel more comfortable
with it over something like PHP, Ruby, Python or whatever else. I find
that, so far, except that one company being the exception, they
ultimately don’t care as long as the results are quality and you don’t
create some alien spaghetti code, and make good, relevant comments.
Perhaps one day, something else might be my #1 language… maybe it’ll
be ruby? Probably not, but I don’t think it’s going anywhere, so enjoy
using it, if you have the time and desire (or motivation).