Slashdot Mirror


Is Ruby On Rails Losing Steam?

itwbennett writes: In a post last week, Quartz ranked the most valuable programming skills, based on job listing data from Burning Glass and the Brookings Institution. Ruby on Rails came out on top, with an average salary of $109,460. And that may have been true in the first quarter of 2013 when the data was collected, but "before you run out and buy Ruby on Rails for Dummies, you might want to consider some other data which indicate that Rails (and Ruby) usage is not trending upwards," writes Phil Johnson. He looked at recent trends in the usage of Ruby (as a proxy for Rails usage) across MS Gooroo, the TIOBE index, the PYPL index, Redmonk's language rankings, and GitHut and found that "demand by U.S. employers for engineers with Rails skills has been on the decline, at least for the last year."

36 of 291 comments (clear)

  1. How about over 10 years? by EMG+at+MU · · Score: 5, Insightful

    Sustained salary over a 10 year period would be a more interesting number to me.

    1. Re:How about over 10 years? by geekmux · · Score: 4, Insightful

      Sustained salary over a 10 year period would be a more interesting number to me.

      We can cram the internet boom, a dot-com bubble, a dot-com crash, 9/11, the birth of DHS, and a rather massive banking failure that almost crashed the entire global economy inside a span of 10 years.

      With factors like that going on all around your number, I'm not quite sure what value you can expect out of your salary stats. The only thing we've managed to sustain over the last 10 years is chaos. IT is hardly immune.

    2. Re:How about over 10 years? by Lunix+Nutcase · · Score: 5, Funny

      That's never fazed an HR department.

    3. Re: How about over 10 years? by __aaclcg7560 · · Score: 4, Insightful

      Hand coding your own HTML pages is a lost art these days.

    4. Re: How about over 10 years? by nblender · · Score: 3, Funny

      oh crap.

      ---
      HTML is trivial to learn. I use "<pre>" and "</pre>" for everything. I used "<img>" once... I also used "<blink>" once too but that was a stretch goal

    5. Re:How about over 10 years? by rtb61 · · Score: 2

      You are like that farmer that whines when they get paid bugger all for a crop that raked in huge profits for the few farmers that planted it last season, just like all the other farmers that switched to the high profit crop.

      Demand does not function on it's off but is a partner with supply. When supply fails to meet demand, price rises and when supply exceeds demand price drops. There was an interesting period where old cobol programmers were paid heaps, not because there was growing demand but because no one was learning the language and supply of skilled coders had dropped right off and although very little new code was written, existing code had to be maintained.

      A tricky point on the supply side, the easier the language is to learn and use, the more readily coders will learn it and of course the greater the supply. You also have to be careful with regard to the realistic stabilisation of applications. Change in applications now is largely driven by greed, with forced incompatibilities created purposefully to require purchasing the same software over and over again, they toss in some GUI changes to create the public relations illusion of a better product. Eventually this is going to hit a real wall, customers will no longer accept fake upgrades that waste huge sums in licence fees, retraining costs, installation costs and hardware upgrades, all with zero new benefit to the customer.

      --
      Chaos - everything, everywhere, everywhen
  2. Everyone hates Ruby by Anonymous Coward · · Score: 5, Insightful

    Whether or not you believe it was the world's most hipster programming language, they tried to sell it as a license to print money. And it is so clearly not. All the businesses with any real money either roll their own languages for in-house challenges, opt for something off the shelf and easy to recruit for, or have mountains of legacy code that merely needs to be maintained.

    1. Re: Everyone hates Ruby by Anonymous Coward · · Score: 5, Informative

      Why is the parent modded down?

      It's a very accurate description of real world Ruby on Rails apps.

      Many adopters have been badly burned by this software, and the people who pushed it.

      Failed projects, slow and broken apps, and fleeing developers are the hallmarks of Ruby on Rails.

      It's much worse than Java was in the early 2000s, or C++ in the 1990s, or C and COBOL before that.

      Ruby on Rails sounds great, until you try to use an app written in it, or worse, until you have to deal with a Rubyist. Then everything tends to go to hell.

    2. Re: Everyone hates Ruby by Anonymous Coward · · Score: 3, Interesting

      Normal people, including programmers, just got tired of dealing with the Ruby crowd. No normal person wants to deal with smug, "opinionated", Zed Shaw-inspired hipsters who swear all the time, and who also often exhibit an unusual disdain for women. It's even worse when, despite all their talk and hype about how great Ruby and Rails are, they still wrote worse software than the well-mannered and normal PHP, Java and Python programmers.

    3. Re:Everyone hates Ruby by maligor · · Score: 2

      I would _never_ agree to work for a business which chooses the wrong tool for the job because said tool is "cool". Either they use an appropriate language, of I choose which language to use.

      Virtually all Ruby shops fit into that first statement - wrong tool for the job, but do it because it's "cool".

      Interesting, I don't personally care much about languages unless it's just plain bad idea in terms of performance, like say doing scientific HPC on pure interpreted python. If someone wants to pay me to reinvent the virtual wheel, I don't really mind. The language itself is just a tool, and having used C for almost 20 years now, I still tend to lookup standard function calls from the man. It's not like using a different language would be any different aside from missing man pages.

      I do wonder if people hate languages because their favorite IDE Product X doesn't support Language Y. My favorite "IDE" is called vim, it's not too hard to add language support to it, but it will take decent chunk of time.

    4. Re: Everyone hates Ruby by TheRaven64 · · Score: 2

      Indeed. I always found it entertaining to see what was going on in Ruby-land: concepts from 20-30 years ago that other languages had explored (and often discarded having discovered major issues with them) being touted as new and shiny and one of the reasons why Ruby is great. Rails itself is something of an example of this: NeXT's WebObjects (of which there's been an open source reimplementation in the form of GNUstepWeb since the mid '90s) had a very similar model and was the first (or possibly second, depending on exactly how you count, but within a couple of months either way) ever web-app development framework. 20 years later, Rails is a new and exciting way of developing data-driven web applications that is completely different from anything that's come before!

      --
      I am TheRaven on Soylent News
    5. Re:Everyone hates Ruby by Aighearach · · Score: 2

      Ruby is not used because it is "cool," and as somebody using Ruby for 10 years now, it is total hogwash. It is absolutely not encountered.

      Ruby is chosen by managers because it is popular with programmers who use it and based on that you can hire a lot of talented people. There is significant competition for programmers, and using languages that are pleasant to program in is a real advantage.

      And of course, it is chosen by programmers because it is pragmatic and modern OO without a bunch of ideological bullshit. And there is a really clean C interface, you can write your entire "Ruby" application in C if you want. And in fact, the majority of library code is in C.

      The truth is, when you have a modern high-level language on top of a very simple, low level C API, that can access all language features, it can become difficult to find a job it is a demonstrably poor tool for. Even if I have a lot of stuff that I want to be in C, it is still nice to have the higher level application flow in a modern OO language.

      Most things, Ruby gives 2 interfaces; high level modern, and thin wrapper over the old *nix C libs. Networking is done that way, for example. There are a wide variety of networking classes providing different levels of interface, all the way down to thin wrappers for C sockets.

    6. Re:Everyone hates Ruby by anchovy_chekov · · Score: 2

      I'd agree here. As someone who started his career in Smalltalk, and then had to give it up for the lack of programming jobs available (10 years of my life becoming an expert in Delphi I'll never get back) Ruby wasn't so much "cool" as "beautiful". It felt like a coming home - an expressive, easy to read language where the answer to "how do I do X?" is "What's the most obvious way." A language predicated on programmer joy is a pretty sweet thing.

      I think the Ruby world can be divided into two camps. There's the "we are nice, because Matz is nice" crowd that were dominant in the early days. When I was a newb I found the community very helpful, very welcoming. Then we got the "DHH is a prick, so we are pricks" bunch. I don't think they were ever in the majority, but they were loud and obnoxious and fit the mould of "hipsters". I don't think this is particular to Ruby though. Every community has its wankers, every community has its good citizens.

      I still love Ruby for what it is, and am thankful I've been able to carve out a reasonably well-paying career based on it.

  3. Ok, so what's the new flavor of the moment? by AltGrendel · · Score: 2

    Just wondering what the new darling programing language is.

    --
    The simple truth is that interstellar distances will not fit into the human imagination

    - Douglas Adams

    1. Re:Ok, so what's the new flavor of the moment? by tigersha · · Score: 4, Interesting

      I swear I did not think I would live to see the time where JavaScript was picked for performance...

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    2. Re:Ok, so what's the new flavor of the moment? by TheRaven64 · · Score: 2

      As with C before it, the fast languages are the ones where people have invested a lot of time and effort in the compilers. JavaScript is pretty horrible to compile, but there's no reason why languages like Java or Ruby would be slow, other than effort. The Ruby implementation is pretty slow, but it's also pretty simple. Go and C had the advantage of being able to get fairly good performance from a simple compiler, but if you compare a modern GCC or Clang to an early C compiler you'll see a massive performance improvement. A modern JavaScript implementation employs all of the techniques from Self and Smalltalk, as well as some new tricks (in particular, loading time is far more important for JavaScript in a web browser than any other language). If you look at the WebKit JavaScript implementation, it has four different implementations (a bytecode interpreter, a simple fast JIT, an optimising JIT and a more complex optimising JIT) and promotes code to the later ones as it appears on hot paths.

      --
      I am TheRaven on Soylent News
    3. Re:Ok, so what's the new flavor of the moment? by Aighearach · · Score: 3, Informative

      Yeah, Ruby remains slightly slow because we trade code clarity for speed. The speed and memory usage have both improved drastically over the years, to where now performance is quite good. Not leading, of course. Because only optimization and changes that retain simplicity are used. We don't care about runtime speed, though we increase it when we can do so without giving anything up. What matters more is that we can scale horizontally well, and maintain portability without a lot of repetition and platform-specific gobblygook.

      Ruby has an awesome C API, where everything in "Ruby" is also available in C, and so something that needs tight loops and bare-metal whatever, we can do that, and still have a high level interface to whatever we did. We can do the hard parts in C, and still have the app logic that ties it together in Ruby. So you don't even hit a wall where "this software should be in a different language," or "this tool doesn't work for this job." Instead you get, "this class should be implemented in C."

      So however fast the C compiler's code is, our code can be that fast if we need it to be. And the Ruby interpreter can remain optimized for readability and ease of bug-fixing. It is like having a whole toolbox and being allowed to use more than one tool for a job. A lot of languages, you choose a tool from the toolbox, and now you have build everything with it, with the only ways around that involving networked interfaces.

    4. Re:Ok, so what's the new flavor of the moment? by phantomfive · · Score: 2

      Yeap, but I'll have to get back to you after thanksgiving. Stuff in the ado.net entity framework. I even bought the entity framework book.

      --
      "First they came for the slanderers and i said nothing."
  4. As a senior RoR developer of 7 years by Dishwasha · · Score: 3, Interesting

    I spend more of my time writing javascript/coffeescript than Ruby.

  5. Rails is decaying, but Chef is keeping Ruby alive. by Anonymous Coward · · Score: 2, Interesting

    For now at least, Chef seems to be the primary mover/shaker of Ruby-related stuff that I'm seeing anymore, otherwise I just don't encounter it at all.

    Node? Check.
    PHP? Forever.
    Python? Sometimes.
    PERL? Yes, I see this more than Ruby.

    I'm just not seeing any new deployments of Ruby-based systems outside of Chef to manage those, and even there it's very minimal use of Ruby itself since most stuff is in templates and the like and not truly 'coding' in Ruby.

  6. Can't sell Ruby to clients. by Narcocide · · Score: 4, Interesting

    Clients care about hosting costs. Clients care about employment costs. Ruby is not enough slower than most other stuff to matter to a good coder, but most employers avoid actually hiring coders who are that good; they're too expensive and too hard to hold onto, and badly written Ruby is easily MUCH slower than badly written [anything else] for a number of circumstantial reasons. Hence, employers see Ruby as too expensive.

    But a lot of this is definitely reinforced by hype.

  7. php - ruby - node - ??? by slashdice · · Score: 2

    It's called a fad.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  8. Rails never had 'steam'. by Qbertino · · Score: 5, Interesting

    Rails never had 'steam'. (I supose you mean something else than that digi-distro-channel by Valve)

    Rails was and is a fad - plain and simple.

    Every haphazard PHP project runs circles around it - for the simple fact that deploying PHP is dead simple, whereas with Rails it's a major PITA. Rails was discovered and hijacked/promoted by the Java community - and while they were all happy and gleeful about the lightweight convention-over-configuration approach they didn't know until then - the Rails & Ruby community bloated Rails beyond repair big-time-Java-style with libs, extensions, mandatory deployment systems that only a very small minority really needs, etc. Rails ran into walls in the real world and the abysmal arrogance of its community scared n00bs away.

    The truth is, nobody needs rails. PHP and its big frameworks are faster and easyer to develop for, both PHPs and Pythons communities are way more n00by friendly and for people who need something big, easy and scalable there's projects like Plone (Python) or Typo3 Neos (PHP) for massive non-trivial installments, each with hundreds of active developers to back them.

    The only thing that Rails had going for it was a website that didn't look like shit - back in a time when most FOSS websites mostly *did* look like shit - and the brand-new concept of screencasts to show of scaffolding and code-generation. That has changed thankfully, throughout the FOSS community. Scaffolding - definitely not a first with Rails - is now well know as a concept and commonplace. And the FOSS projects are finally aware that marketing, including websites that don't suck, is important. That's the overall improvement that Rails brought along.

    But right now Rails as a FW is way to bloated, unwieldy and buggy to be of any use for a web-project beyond enthusiasts fiddling with it. I have yet to get a Rails environment running on my laptop for local development. With PHP its download MAMP, XAMPP or "apt-get install mod-php" and start progging.

    So, yeah, no steam, only hot air.
    And, yes, from what I can tell, the hypes been over since about 2 years.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Rails never had 'steam'. by The+Raven · · Score: 2

      I agree that Rails is a fad. But touting PHP as better is... odd. PHP is a dismal language, with horrible coding practices and duplicate commands (some are bad, some are good, who knows which is which). Using a library, you have no idea what code they used... did they use the old string routine that's vulnerable to buffer overflows, or the new one? Why does PHP even KEEP the broken commands, it's insane!

      Ruby is good (despite performance issues), PHP is bad. I'll take any framework built around Ruby over any framework built around PHP.

      --
      "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
  9. Some history on Rails and Django by Qbertino · · Score: 2

    David Heinemeier Hansson was sick of PHP, found Ruby, and invented Rails in 2004. No mention is made of him toying with Python. I think that if he had found Python that he would have liked it just as much. Django had not come out though.

    I guess that he did the best he could with what he had, but I wonder if he would he would have just switched from PHP to Django had he started five years later.

    The Rails crew knows the Django crew and vice-versa from the very beginning. They're basically drinking-buddies.
    Rails simply was the favourite scripting language inside 37 Signals (DHHs favourite PL to be percise), so they developed their internal Basecamp Tool with it.
    And built Rails as a foundation for that.

    Basecamp became so popular with 37 Signals customers, they decided to turn it into a service.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Some history on Rails and Django by Aighearach · · Score: 2

      No, what he's saying is that Rails wasn't written to be a framework for others to use, it was written to solve the real problems that the consultancy that created had to solve for their clients. And it was such a huge success, they gave it away to the world to promote their consultancy business. Which was also successful.

      That it has always been solving real problems first, and isn't born from ideology, might explain pretty much everything about its success.

  10. Re:Yo, its 2014! by jfbilodeau · · Score: 2

    Ruby On Rails originated in 2003. The crash of the global economy followed.

    So...RoR crashed the economy then?

    --
    Goodbye Slashdot. You've changed.
  11. Re:If it's losing steam it's because by jbolden · · Score: 2

    Basically the above is: http://www.randomhacks.net/200...

  12. Re:Yo, its 2014! by Half-pint+HAL · · Score: 3, Funny

    Ruby On Rails originated in 2003. The crash of the global economy followed.

    So...RoR crashed the economy then?

    I told you guys that dynamic typing was unstable....

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  13. Re:If it's losing steam it's because by Half-pint+HAL · · Score: 2

    even without Rails, Ruby itself is just about the ultimate utility language. There's legitimately no reason to avoid learning short of "I hate Ruby for no apparent reason".

    Really? No legitimate reason at all? Not even "I code embedded systems" or "I'm a carpenter"? Or less fascetiously, because typechecking makes debugging easier, so some people don't want to use a dynamically typed language.

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  14. Re:If it's losing steam it's because by Wdomburg · · Score: 2

    The real win for me is JRuby. The Java ecosystem is at least as broad as perl, and generally better suited to enterprise applications. There are generally perl modules for everything, but they often perform far worse (e.g. Net::LDAP is probably an order of magnitude slower than UnboundID processing LDIF) or are just terrible code (e.g. Net::Sieve::Script which is a regex-based hack, rather than an actual language parser like jSieve).

  15. "Steam" is only half the salary equation by hey! · · Score: 4, Insightful

    Specifically: the demand curve half of the equation. The other half is the supply curve. A platform can have *no steam whatsoever*, but so few programmers that the salaries are reasonably high.

    Consider Delphi programming. I see Delphi positions come up once in a blue moon -- it's not used much any longer. But those salaries run from $80K to $110K plus. Sometimes you see a Delphi position come up in the mid 40s, but I suspect they're government positions.

    I've seen listings for COBOL or PoweBuilder programmers both in the $60K to $110K plus range. You can bet when a company offers $110K for a PowerBuilder programmer it's because it's having a hard time finding one.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  16. Re:Python by VGPowerlord · · Score: 2

    Of course, Java hasn't stood still, nor have the people that write libraries for it.

    Hell, I want to say the Java + Spring + Hibernate stack even existed before RoR did.

    Thanks to advances over the years, you can now write Spring applications using no XML. Short example (the longer example guide seems to have gone MIA on the Spring Guides site).

    Although I'd hope you'd be using your web server/servlet container's database setup stuff (including connection pooling) rather than hard-coding it into the app.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  17. Re:What killed Ruby by MillerHighLife21 · · Score: 2

    jRuby totally changes the dynamic for Ruby, no question. It solves virtually every non-imaginary production problem that Ruby's historically had WHILE adding the entire Java ecosystem to the mix.

    Python is very heavily tied to C. Ruby seems to live in both worlds much more successfully.

    --
    "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
  18. Re:If it's losing steam it's because by Aighearach · · Score: 2

    Embedded systems have mRuby, which is super-hot in robotics right now. It is a set of C libraries, you can pick and choose which parts of the language you want to build in, and it runs almost anywhere with 32bit registers and x (some small amount) RAM.

    Ruby has real advantages in the way it combines Smalltalk object semantics with C/Perl style syntax. It is important to learn, even if you're not going to use it, because it is one of the big ideas in the industry over the past few decades. I got interested in Ruby in the late 90s when Larry Wall said, "if you want to write everything using OOP than Ruby is a better language than Perl." I did wait for English manuals, though.

    And yes, a carpenter who is writing software should really consider Ruby because it is easy to learn and you can go a long ways with "baby Ruby" without having to learn a bunch of extra crap. The Principle of Least Surprise and related concepts are a great benefit to the casual user.

  19. I guess you could say... by zeroryoko1974 · · Score: 2

    *puts on sunglasses* It's gone off the rails