
Is Ruby Dying? - jonaldomo
http://jmoses.co/2013/12/21/is-ruby-dying.html
======
jerf
You just may not be used to Ruby not having the exciting fire of initial hype.
That _is_ dead. But that's good. Languages can't live like that forever.
Sooner or later they need to stop the wild experimenting, find some best
practices and things that work, and settle down and ram home the things that
work.

Ruby has entered final maturity. It will be in that phase until such time as
it really _does_ die, which could well be 10-15 years. Or more, though,
honestly, I doubt that in 2028 we'll be considering Ruby anything more than
legacy code... that's not because of Ruby itself, but rather the language
category it is in. I expect we'll be looking at Python and Perl the same way.

Oh, and kudos for running numbers before simply writing the "Ruby is dying!"
blog post!

~~~
makomk
I think Perl has already reached the state where it's mostly used in legacy
code, at least for web development.

~~~
bmj
What about Catalyst? Or Mojolicious? Or Dancer? If it's just used in legacy
code, why are there still healthy frameworks being produced (granted, these
aren't as popular as Rails, but, Perl on the web is hardly in legacy mode)?

~~~
sim0n
I personally haven't seen any new code being written in Perl during either my
time in England or in the Bay Area. I don't really see a reason to use Perl
when there are languages like Python and Ruby out there with easier learning
curves and which are just as, if not more powerful (would be happy to learn
some good reasons, though).

~~~
hahainternet
I am in Manchester. I write new Perl code. Python is Perl with a little nicer
syntax and a shitload of baggage from overly opinionated people. Ruby is Perl
with a little nicer syntax and no other advantages.

I have found no compelling reason to switch, and lots of annoyances that don't
seem to exist in Perl.

~~~
Demiurge
Following this logic, every language is Perl with a bit of this or that. Perl
was one of the first of the kind, but people saw obvious problems with it and
so they innovated with 'little nicer syntax' or 'little better object system'.
You might not want any of this, but you can't deny most people are happier
with Python or Ruby.

~~~
aaronem
I'd say it's more like Perl is every language with a bit of this or that. A
sufficiently "skilled" Perl hacker can write everything from bad C, to bad
Lisp, to bad Fortran, in Perl -- and most certainly can write plenty of bad
Perl in Perl, too. It's writing _good_ Perl that's hard.

------
Sanddancer
First off, popularity of a language shouldn't be as important as you seem to
make it in starting a project. Finding the right tool for the job should be
much much more important, new kid in town be damned. Second off, number of
package releases doesn't tell much about maturity of packages, developer
involvement, or anything. Ruby's a mature language. It's quite feasible, and
arguably desirable, for package releases to slow down in time. Styles have
been developed, the urgency for new features to be rolled in Right Now is
lessened, and the need for components that doesn't break on upgrades becomes
more and more important. Yes, the novelty is gone. That isn't a bad thing. You
know Ruby's strengths and weaknesses, you know how to use it, you know how not
to use it. Jumping to a new language just because of all the jibber-jabber is
not a practical thing at all.

~~~
Touche
> Finding the right tool for the job should be much much more important

That's the most overstated claim in programming. LESS is the "right tool for
the job" when the job is styling web pages. Ruby is a general purpose
programming language, the jobs it is good for is everything not covered by
DSLs like LESS, the same as all other general purpose languages.

~~~
laureny
> Ruby is a general purpose programming language

I question that. Ruby is very slow, dynamically typed and suffers from scaling
challenges because of its multithreading support.

I think Ruby is increasingly falling into a niche: prototyping. Get a
prototype up and running in a few weeks and once the proof of concept is
established, switch to a statically typed language on the JVM.

~~~
spoiler
I disagree.

Ruby was slow (still is), but that trend is changing. More and more effort is
put into speeding up and modernising Ruby in general.

It might have only begun to mature, but it's definitely getting a there.

Rubinius is a lot faster than MRI and has proper multithreading support. There
is also JRuby, which runs on JVM.

------
jhspaybar
Developer discovers nodejs, drinks kool-aid, assumes other languages are dead
or dying. News at 10.

~~~
romanovcode
So true, I was expecting to see Node code in this article even without reading
it and can tell already that your comment is the whole tl;dr story of this
post.

After Node will stop being popular and "hip" author will probably make a new
post saying "Is Node Dying?".

------
Glyptodon
I didn't start using Ruby (or Rails) until this year. The language is nice and
makes my top 3 language list.

That said, I find both Python/Django and Node.js both more productive than
Rails for quickly building API-driven web-apps. More so this has to do with
Rails, which has a number of warts and a tendency to require excessive
configuration for all its pretty much patently false 'convention over
configuration' spiels, than it does with Ruby.

If there's a problem with Ruby, it's the inseparability of it and Rails. As
things like node make using non-JS languages server side less appealing, use
of Rails will decline, making Ruby decline.

The main reason this hasn't happened is that there's not a standard
groupthink-do-it-all toolkit for building things with node yet.

And even when it does happen it will take years and years to go away. Just
look at PHP.

I'm going to go ahead and say it: Ruby will be the new PHP...

And yes, I think it's fair to assume that Ruby usage is vast majority tied to
Rails.

~~~
riffraff
> patently false 'convention over configuration' spiels

such as ?

Rails has plenty of warts but models still live in /app/models, classes are
named after tables and all CRUD routes are defined with a single two-token
line.

You are probably forgetting to consider what the world was like before this.

------
danso
Ugh...must not take Lord's name in vain. 14 points in almost as many minutes?
Is it so easy to get to the top of HackerNews on a holiday with such a loaded
question? I can't imagine how many points the OP would've gotten if the title
was "Is Ruby Dying Faster than MongoDB?"

That said, as a pro-Rubyist...well, I don't find much comfort in the OP's
spurious assumptions about what the data can show. However, for those who
think Ruby's time is limited or otherwise hate the language (or more
specifically, Rails)...what do you think will take its place? Ruby seems
popular because of its readable syntax...which is also a factor in its
relatively slow performance...do you see an even more human friendly (and
inefficient) language taking its place? Or do you think such a niche need not
be filled?

That Ruby is so great for DSLs...I would hope that it can stay in that
function as one of the better glue languages we have.

~~~
weatherlight
Ruby IS dying faster than MongoDB! Evidence to prove it!
[http://bit.ly/1c9vo1S](http://bit.ly/1c9vo1S)

------
polysics
Is it that day of the week again?

I would like to also point out the title of the post is misleading, as the
findings are exactly the opposite.

~~~
nathos
[http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)

~~~
sjtgraham
Citing this is such a knackered HN cliché it should mean an instant hell-
banning.

~~~
evilduck
Shouldn't submitting things that fit Betteridge's Law should get you banned
instead? Why ban the symptoms?

~~~
sjtgraham
My comment was tongue in cheek, but there is no way one would realise that
just by reading it. I don't really think people should be hell-banned for it,
being down-voted into oblivion would suffice :)

------
virtualwhys
TIOBE index for December 2013 says otherwise:
[http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

Ruby dropped 3 spots from this time last year (currently #13); if it is dying,
it's dying slowly.

For my work on the JVM, Scala in comparison is way down at spot #31; Groovy
#47, and Clojure doesn't even break the top 50.

Meanwhile F# is kicking some serious azz, soaring 27 spots in a single year to
#20, impressive.

Ruby should be just fine for the next several years, assume will drop down
into the 20s as the static typing + FP movement takes root in the enterprise.

2014 should be a fun year for the JVM: Java 8, Scala 2.11, a possible Kotlin
release, and whatever Groovy and Clojure have planned.

~~~
dham
I used to look at the TIOBE index all the time, until I saw Visual Basic .NET
jump a bunch of spots this year. I then started to question either TIOBE index
or the people that are using Visual Basic.NET

~~~
kamaal
Not sure what to say about TIOBE. It bases its results on search engine
trends.

They can't really tell the difference between Ruby(The stone) and Ruby(The
language). Or Python(The snake) and Python(The language).

------
dham
NodeJS, been there done that. Even with generators it makes doing task
synchronously a royal pain(have you ever tried to write sql update code with
transactions?). Until something comes a long to replace
Ruby([https://github.com/mirah/mirah](https://github.com/mirah/mirah) looks
promising), I'll still use it. Ruby is a great scripting language, and it has
one of the best(if not the best), web frameworks out there.

I definitely think MRI will die, and Ruby will live on in the JVM. I've been
really impressed with JRuby and the advances they have made on that project.

Plus you also have projects like RubyMotion and the promising Opal(Ruby to
JS).

~~~
pswenson
Mirah has almost zero usage, and it seems very little development is going on
there. I'm on the Mirah google group and there have been 5 posts since
October.

I love the idea, but it seems few are interested....

~~~
dham
Exactly. That proves my point. There are no Ruby like languages ready to
replace Ruby right now.

------
chmartin
Ruby is like Disco. It was fun for a while, but now it is old news.

I was forced to learn Ruby while at Aardvark, as well as the Rails and the
Agile process.

It was true today as it was then; Ruby, Rails, and Agile are absolutely
useless for real data science and machine learning, and this is what companies
need to move forward. Indeed, to bring machine learning tech to the Aardvark
team, I had to fight tooth and nail against the Rails consultants and the
Agile process guys.

Ruby is a useful gateway language for learning other modern scripting
languages such as python, lua, and scala

I agree that Ruby is now legacy technology. Let me be clear; I use it all the
time. It is useful to build stable projects based on solid ideas, and I use it
for dev ops, for crawling the web, and for making simple DSLs. Chef is very
good (compared to, say, Ansible) , and the Bundler deployment system is quite
nice. It is easy to build web endpoints in Sinatra, and the Nokogiri gem is a
pleasure to work with compared to, say, java JSoup.

But Ruby is not moving the needle forward. It does not even have a decent
NumPy-like module, which makes it completely useless for modern back end work
in data science, machine learning, and the real things companies need to
generate revenue

Rails is a good example of being overspecialized. They are so good at web
programing circa 2007 that the future passed them by.

Python. Lua. Scala. Closure. These are the future.

------
jhardcastle
A better title would have be, "Is Ruby Dying? Getting The Data." As others
have pointed out, the data suggests no, it is not.

~~~
hobs
But then it wouldnt be linkbait!

------
mess
Google trends:

[http://www.google.com/trends/explore#q=python%20programming%...](http://www.google.com/trends/explore#q=python%20programming%2C%20ruby%20programming&cmpt=q)

~~~
Glyptodon
With javascript:
[http://www.google.com/trends/explore#q=python%20programming%...](http://www.google.com/trends/explore#q=python%20programming%2C%20ruby%20programming%2C%20javascript%20programming&cmpt=q)

~~~
Encosia
With node:
[http://www.google.com/trends/explore#q=python%20programming%...](http://www.google.com/trends/explore#q=python%20programming%2C%20ruby%20programming%2C%20javascript%20programming%2C%20nodejs&cmpt=q)

~~~
stonesixone
I don't think it's comparable to compare the 1-word "nodejs" with the 2-word
"xxx programming" phrases.

~~~
monocle
sans "programming"
[http://www.google.com/trends/explore#q=python%2C%20ruby%2C%2...](http://www.google.com/trends/explore#q=python%2C%20ruby%2C%20javascript%2C%20nodejs&cmpt=q)

------
nikoma
I have been working with Ruby and RoR for a few years now after using C# and
Java. I now can put together web apps or APIs in hours vs days and integrate
it with about anything out there from other APIs, using gems wrapping them or
other gems for integration like redis, rabbitmq etc you name it. I have never
ran into issues of incompatible gems I could not fix myself in a short period
of time. It's incredible productive and reasonable fast. I am dealing with
data reads/writes in the ten thousands of records per second and when
something smells like bottleneck you still can throw in a native extension or
use jruby and call java libs. If you are building all you do with boilerplate
activerecord or other ORMS you just don't use it right. Flexibly is key. I
think every challenge has it's best tools. I tried grails, play, spring mvc
and other frameworks but promise that I can beat every of these frameworks in
terms of development speed. Ruby is far from being dead and has a huge
community. Having that said its always good to also stay up to date with other
tools. For many deploying rails apps is a pain so why not throwing in warbler
and deploy a war file to an app server...seconds later, boom, online and
scalable. I could go on for hours:) I am a fan and so are our shareholders.

------
kailuowang
> _What do you guys think? Is Ruby dying? Did you once use Ruby and have now
> started to use something else?_

I was using Ruby as my main language for 3 years before I switched to first
Coffeescript and then Scala now. Personally I prefer the simplicity (a
function is a function) of Coffeescript and the richness (so many things to
fool around) of Scala over Ruby.

The popularity of languages don't die over the course of a couple of years.
Projects with legacy code rely on them and maintenance of their libraries. And
legacy code is very very hard to kill.

If the interest is in finding out the trend of the "favorability" of a
language, it might be more accurate to survey how many green field software
products(not libraries, which could be driven by the need of improving some
legacy code) are choosing it. Unfortunately, such survey is more expensive to
perform, and might be close to impossible to perform retrospectively to
understand the trend. Given the fact that the "popularity" of a language isn't
that important, the favorability is probably even less, such survey is
probably hard to justify.

------
alisnic
after looking at the node code in the article, no.

------
jhawk28
Ruby is maturing, not dying. It has lost much of its fadish hype.

------
rubiquity
Ruby isn't dead. It's stabilizing now that all of the language hipsters have
moved onto Go/Node.js/Scala/Clojure to recreate a bunch of mini Web libraries
to try and make names for themselves in the new languages.

Ruby's best days are still far away.

------
thomasfedb
Ruby is only dying in the sense that C is dead. It's not that exciting, but
instead is widely used, including by companies.

Additionally, I doubt gem releases correlate with language 'vitality'. Fewer
releases may simply indicate library stability.

~~~
mitchty
Too true, I'm writing more C lately than ruby. Then again I'm not a rails fan
and I need to interface with ioctls more than oauth or whatever. So C fits
much better in my domain space.

That and command line apps in ruby, well there like perl with cpan modules,
sheer pain to manage across systems. Versus static link in archive files and
make a package.

------
ChiperSoft
That's a fifteen year graph, and does appear to depict a decline at the end.
I'd like to see this data rescaled to just the last six months (unfortunately
his data files are 404ing now).

If you want to find out if TV sales are declining, you don't compare against
the 1950s.

------
stiff
It is surely dying among those folks who only build one page apps and post
them to blogs...

------
blt
The author must be pretty wet behind the ears if they think a blog audience
will want to read huge blocks of mundane javascript code with console logging
and error handling.

------
ibstudios
If there is one person working on the next version of ruby it is not dead.

jruby and rubinius close the performance gaps. (This is an arguement for only
knowing one language.)

------
lowglow
no.

~~~
mattkrea
lol. Agreed. I'm not a fan and sometimes wish it would but enough people are
using it successfully to make it pretty evident that it is not going anywhere
anytime soon.

------
charlysisto
my question : is ruby trying to get on pair with python regarding machine
learning ?

~~~
chmartin
not even close. even lua is way ahead of ruby in machine learning !!!

------
Mc_Big_G
As always, the answer to posts with a question as the title, is no.

------
swordfish0321
Pure Hacker News bait.

------
nkcode
graph only shows that all smart coders switched to ruby and it is steady
updating

also most gems in all areas are good enough already

------
tosseraccount
Netcraft needs to confirm this, first.

------
maxehmookau
Probably not.

------
idoescompooters
I know Ruby on Rails isn't!

------
mortyseinfeld
No, but BSD is.

------
mraj
Wait? What????

