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."
Sustained salary over a 10 year period would be a more interesting number to me.
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.
A better tagline:
Still better than reddit, so shut up and assimilate.
One they dropped RoR "because of performance", lots of other people decided not to try it.
There's lots of faddishness and follow-the-leader in business IT. When one of the lead dogs does something, the pack falls in line. Map Reduce/Hadoop is an excellent example.
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
I sure hope so.
for a split second anyway before it becomes a "(15)"
I spend more of my time writing javascript/coffeescript than Ruby.
Tried Pipedot and SoylentNews?
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.
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.
It's called a fad.
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
It's because it's hard to find people. For whatever reason, despite the demand, people get violently offended that Ruby is the 99% solution instead of the 80% solution and stubbornly refuse to just learn it. Short of fringe, extreme performance tuning use case that somehow jruby didn't manage to solve...Ruby is just about the ultimate general purpose language. From sysadmin to web to DSL to backend to volume and utility of open source libraries to a community focussed on developer efficiency and happiness...ruby is "the language". There is no other language out that that addresses all of these so effectively.
Ruby is an excellent language that makes a lot of very complicated things in programming simpler to achieve thanks to run time manipulation of the core language. Specifically things like dependency injection and modifying existing libraries to suit your purpose without having to touch the code of the core library and break your upgrade path or extending the class and then replacing every single usage of it with your subclass. This accelerates problem solving, eases the use of smaller pieces of code and the ENTIRE language and gem ecosystem is what it is because it takes advantage of it.
The demand has been there for years and because the demand is so high, it means Ruby people are hard to find. For many companies that means that they'll end up using whatever they can find people to code with. You'll get people using all manner of PHP frameworks. The "hey, I know Javascript! Let's use Node!" crowd. The Java EVERYTHING crowd that for some inexplicable reason would use languages that isolate you to only running on the JVM like Groovy, Scala and Clojure instead of using jRuby for all of the same benefits with code that is portable OUTSIDE of the JVM. Then there's the .NET crowd who are in their own little world (but will embrace Node and Go because they work well in their world too).
In so many cases, what companies use is based on who they can find to hire because demand for programmers is so high right now that becomes a determining factor everywhere.
The only language out there that is legitimately picking up steam in the "I am different in a meaningful way" sense is Go. In the mean time, believe me, all this Ruby code isn't going anywhere. Regardless of whether you're talking Rails, Puppet, Chef, Capistrano, Foreman, RubyDNS, the Gem ecosystem and every other standard bearer for how to do things that are emulated across other languages these days...Ruby's everywhere.
When I learned that on the fly I could inject or replace a method in a core object at load time and in 3 lines of code solve a system wide problem no matter what design pattern, coding style, or good/bad architectural decision was made by a previous developer it pretty much changed my life as a programmer. There is virtually no programming problem in a ruby application that makes me grumble because I "have to deal with it" or it will "take years to fix" because it's so easy to fix. This applies with open source libraries or legacy applications. That's why Ruby is awesome and the biggest reason that I'll never understand the people that want to hate it so much.
"Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
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.
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
I wasn't aware that Steam was written in Ruby.
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
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
It's ORM is much better than anything in Node, which is why so many content/e-commerce sites are using it.
Node is only good for apps, which is a much smaller market than content & e-commerce sites. But Node really doesn't have a chance against native apps, especially when its competing against something like Swift on iOS.
Rails did not really take off because Ruby did not take off. Ruby did not make it because it lacks the libraries that Python and other languages have. For instance it does not have the numerical analysis tools Python has (NumPy and SciPy). The Ruby version are not complete or do not exist. Ruby has Rails, Rake, and is incredibly easy to read and learn, but being without having a complete tool box it just does not cut it.
Yea, we're evaluating config management tools and have excluded puppet and chef specifically because it requires a ruby instance.
[John]
Shit better not happen!
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".
The internet boom, THE dot-com boom 'n' crash, 9/11 (2001!) and birth of DHS all predated (2014 - 10). Math (or history) is hard. Ruby On Rails originated in 2003. The crash of the global economy followed.
A better tagline:
Still better than reddit for now, so shut up and assimilate.
There. FTFY.
what is githut. this word is in the summary. why. does it have a meaning? is it like pizza hut? or jabba the hutt?
Wow. The core of Chef is Erlang which allows modules to load in ruby,perl, python or whatever you want. The client is in ruby.
Excluding the top tools on the market because of zealotry against the language? Wow.
...alternatives, like Lotus?
Very few distributions install ruby by default. It is not a good dependency to have.
I still would find myself hard pressed to select a language and framework that would get a vanilla CRUD based site or backend up and running as quickly as one can with RoR.
Python/Django is heading there but I find Python to be less productive as a language and I've shot myself in the foot a few times due to whitespace issues (especially when refactoring). MS languages are a no-no until they bite the bullet and officially support *nix based system; Java ... shoot me; Scala .. shoot me twice! (and then once more for mercy), Go just doesn't have the productivity benefits, although I'd stand being convinced there; nodejs ... good in the early stages but I find that maintainability suffers as applications scale; PHP/Laravel ... well again, maybe, I've not really looked.
I actually do not like Rails I should also mention - rather than refine the framework it has become a bloated mixed bag of goodies much like the paradigms it replaced, so I would be genuinely interested in opinions on the alternatives.
There's a reason why it's buggy and slow - it really is a TURD.
For example, look at the source code. See how it uses setjmp()/longjmp()? Yeah, that makes for easy-to-maintain code.
Now go read the man pages for setjmp()/longjmp(). Ruby misuses them - to the point where it only works because it has to be hacked like crazy in hardware-specific ways. Read this:
https://bugs.ruby-lang.org/issues/5244
Look how much effort had to be expended just so Ruby could be compiled with optimizations.
It's not "zealotry" to avoid a horrible technology because it's horrible. It actually called "good judgment".
You sir are an idiot.
Anyone running a simple curl command can get it running.
\curl -sSL https://get.rvm.io | bash -s stable --rails
Ruby is objectively shit. There is no zealotry.
... that its growth plan has gone off the rails?
Not zealotry. I'm not a fan of having to install extra software such as Ruby or other agents on every server. If I can't manage every server with the tool, then I continue using what I do now or look for a tool that doesn't need an agent. Heck, security requirements make installing extra software a bear due to dependencies. I have to manually install and chase down the additional packages. We have quite a few older systems which don't support these agents, even cfengine. So having an agentless tool to do configuration management is the goal. I am considering Ansible but if it doesn't work, I'll continue to use my ssh based scripts.
[John]
Shit better not happen!
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.
You want to utilize slack:
https://code.google.com/p/slack/
All it requires is SSH/bash. It's very nice.
charles@knownelement.com if you need help setting it up.
Well, you do not "have to install extra software on every server", you can have Chef or Puppet or even Ansible do that for you. While you're sipping your coffee and watch it run :)
Will be released in 2015... just sayin'.
>for now
I don't see reddit improving in quality any time soon (not that that invalidates your comment)
Most linux users don't know this, but the man pages were named after Chuck Norris. Chuck Norris fsck'ing hates noobs!
Yeah, but using tools to that level requires reading manuals, and finding out what the features are before you decide if you hate it or not. It is so much simpler to just learn one way of doing things, and then muddle through with it forever, and install crap on servers by hand. Sure, it takes more work and doesn't scale, but it doesn't require more than one learning cycle per 3 decades. So there will always be a contingent that promote this way, and try to find ways of making themselves sound like Very Serious People.
*puts on sunglasses* It's gone off the rails
*Perl
The true index of programming languages, Tiobe, ranks Ruby at 14 and going down. If you're a ruby dev and making that kind of coin... bravo, stash it as your days are numbered. If you're looking for a new language to learn, look else where. I've been a php dev and found attempting to use Ruby an unpractical PITA. It just sucked.
None of the links the article cites as it's source even mention Ruby. Seems like a desperate attempt to promote Ruby.
The chef server is in Erlang, of course the chef server doesn't do very much but auth hosts and server files. the client does pretty much everything.
Paying taxes to buy civilization is like paying a hooker to buy love.
It actually packages it's own embedded ruby instance, and if you excluding ruby and by extension Vagrant you really are missing out.
Paying taxes to buy civilization is like paying a hooker to buy love.
What you just described is true for any developer who calls him/herself a "${LANGUAGE}ist", or chains their identity to a language or framework. "PHP developers" are nightmarish. I've met "Java specialists" who produce absolutely incomprehensible shit, shit that's in some cases substantially worse than even average "Ruby developers". Successful developers evaluate and select tools to fit the problem they're trying to solve.
Ruby on rails never had steam. Its simply not a skill used in the tech area unless you are around other RoR people; then its a buzzword and a social contract that you know it and use it. But outside of that, nothing has ever been created in RoR that is of any lasting value to the world, and nobody wants to hire you if you add it to your resume. i know this because I am an out of work developer who would gladly code in RoR all day despite how slow and buggy it is, but am currently without a job of any kind, and have been actively told by recruiters to remove the rails experience as it s"just not market competitive like it used to be" to have on a resume right now.
If you compare Rails with other web frameworks by job listing you'll find it is still out in front. Indeed.co.uk currently lists 230 Rails job titles in London, compared with 56 Symfony2, 40 Zend, 15 Laravel and 10 Django. Comparing Rails with PHP isn't a valid comparison IMHO as it's not a framework.
Wow, did that point go right over your head or what?
You ever sit down at somebody else's computer and wonder how it got clogged with so much junk? maybe every stinking application required "only" this other framework or service too. You see this often with programmers who can't or won't do anything themselves. It's like those webpages that pull in 5MB of JS from 20 different servers just to load a fucking page with pictures of their cat.
....you ARE aware that MS recently open sourced the .NET platform, right? And mono has been around for a while also.