I work for a company that uses PHP. In my free time I write Ruby apps. My manager recently “discovered” Heroku (which I had been using for a while) which spawned a discussion about eventually switching languages to start doing Ruby development (which would be awesome for me). However, my co-worker mentioned that he thinks if we are switching, we should switch to Java because Ruby is a dying language.
I just about fell out of my seat. Dying language? Far from it! Every company I know is deploying Ruby applications!
However, I don’t have any stats to support this. I only have my experience and love of the language to base my opinions on. Do you know where I can find articles/statistics on Ruby adoption and how I can convince my co-worker(s) that Ruby is the way to go?
Do you know where I can find articles/statistics on Ruby adoption
It's going to be difficult to get good data. The biggest reason,
IMHO, is that companies that do adopt RoR are going to be doing so for
the productivity. If it works, they're not going to talk about it.
That's what 'strategic advantages' are all about. Keep your mouth
shut and hope your competitors don't figure it out.
If you're convinced that you need hard data then I'd recommend looking
for secondary indicators: growth of hosting providers is one. How
many are there today vs. 2 years ago. Do they say anything about
customer base? What about financial condition? There are tertiary
indicators as well. Of those hosting providers, how many moved into
new digs this year? They moving up? Or scaling back? I doubt very
seriously that the leg-work will pay off (see below for why) but it
would be an interesting exercise. If you do undertake it, I'm sure
you'll be able to find a publisher who'll pay you a small amount (way
out of proportion if you do the per-hour calculation, so don't )
to publish it.
and how I can convince my co-worker(s) that Ruby is the way to go?
You probably can't 'convince' them. The choice isn't so much rational
as it is personal preference. There are, IME, two ends to the
programmer-preference spectrum: Java and Rails.
The spectrum is most easily characterized by the individual's
tolerance for delay in the gratification / feedback loop. I liken the
Java end to the guys who build the huge, elaborate domino knock-down
displays. Please understand that I am not criticizing at all; simply
making an observation on human nature. The domino guys get a big dose
of gratification when the dominoes all fall. But it's not about the
dominoes falling. It's about the validation that all the setup steps
were done perfectly. It's the validation that counts. If the
dominoes all fell because the ground shook, there'd be no joy.
So if I were you (embarked on organizational change) I'd ignore the
developers who've already expressed a preference for Java. Focus on
the ones that may be more attracted to a rapid-feedback model.
Introduce them gently; perhaps via your local ruby brigade. Get them
around some folks who are clearly having more fun than them. In any
event, they'll get some free pizza
Is approaching 1 million lines of code and growing.
Has had 46 developers commit code over the last year: “This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh.”
Is the main language for many other innovative new applications and libraries including rails, rubygems, rake, rspec, cucumber, redmine, capistrano, haml, and many others. (See http://www.ohloh.net/p?sort=users&q=language%3Aruby )
Anyway, this is just a quick scrape of some stats. There’s much more if you dig around there and other places.
JavaScript tops the list at https://github.com/languages – am wondering if it refers to standalone apps being built entirely in Javascript, or it includes libraries like jquery, dojo, etc which are used pretty much by every web application. Any idea how github identifies languages?
However, my
co-worker mentioned that he thinks if we are switching, we should switch
to
Java because Ruby is a dying language.
I just about fell out of my seat. *Dying* language? Far from it! Every
company I know is deploying Ruby applications!
So you should switch to Java because Ruby is a "dying language?" To a
language invented by a company that is already dead, Sun Microsystems.
And, who's creator abandoned the company when it was taken over by
Oracle. This guy is recommending a switch to Oracle, who's main product
is an old severely aging relational database that costs a small fortune
to deploy and hasn't seen significant changes in decades. Do you really
think that Java is in a great place right now in the hands of the likes
of Oracle? A company who's primary interest is profit, attained by
gouging large enterprises for everything they can possibly get a way
with.
Thanks everyone for the comments! The Tiobe Ruby chart is in fact the one that my co-worker was referring to since it shows Ruby on a downward slope. The Tiobe index doesn’t seem very useful or accurate if you ask me. You’ve definitely given me a lot of ammunition to defend Ruby!
Your coworker would be a fool if he makes decision based on the weighted number of search hits for XXX programming, which is what the tiobe index is. The github index gives you a good estimated of the popularity of languages in the open source community here: https://github.com/languages Looks much better Of course this is as bogus as the tiobe index - but the results are more in favor of Ruby
I have been a ruby developer for 4 years before ditching the language in
2010
The best way to figure out a skill and the amount of usage is websites
like
stackoverflow and the number of questions tagged ruby python java
Google trends gives you a fairly good idea too.
Now while ruby is far superior highly productive it needs extra smart
programmers those that are a rare find and therefore most decision
makers will be scared of it. As they are themselves in a comfortable
shell where they want to be.
Add to it the human tendency of not liking radical changes.
I am a Java programmer now and I can tell you that most of the things
being introduced into java7 and post 7 are already there in ruby and I
have so far not learnt a single good pattern, practise that is not the
result of my ruby on rails learnings.
All I am saying is there were'nt enough job options available where i
live and I had to switch I really miss ruby and intend to open my own
software product development company soon.
The language of choice will definately be Ruby as I know for sure I can
do what it will take 10 java guys with 1 good ruby programmer.
There is absolutely no comparison when it comes to web development
between the 2. Ruby + plugins beats anything Java anyday.
Surely there are thing slike OSGI and dynamic support through Groovy and
similarscripting languages but they are all ruby or python inspired
(which is shameful).
Still in this world the best does not always have to sit at top in
raknings just like BMW sales will never be the same as Toyota but a
Toyota now comes standard with what BMW cars were 5 years ago.
I think the idea that rails needs extra smart programmers is a bit silly. It's a bit like a blog author who tells his audience they're in the top echelon simply by reading his or her blog.
Statements like those are a masturbatory fantasy that has no place in the evaluation of technology stacks imo.
I also question your claim that 1 rails developer can do the work of 10 java developers. An actualy order of magnitude productivity gain is very rare in our industry, and I would expect any such claims to come with reputable citations to back them up.
Don't get me wrong, Rails has it's merits, I'm head down in it every day, but lets not kid ourselves.
A while back, some programming blog (Coding Horror, maybe?) said that
its audience was the cream of the programming crop... because they
read *ANY* blogs, not necessarily that one. There are an awful lot of
programmers out there who only treat it as a day-job, not bothering to
keep their skills modern and sharp by reading blogs, listening to
podcasts, participating in email lists (hey, looky what I'm doin'!),
let alone writing their own blogs... and programming in their spare
time is Right Out. And not only are there an awful lot of programmers
like that, a lot of them are probably awful programmers!
-Dave (blog reader, podcast listener, email participator, AND blog
writer, times two!)
I'm not sure I understand the claim that reading blogs keeps your skills "modern and sharp". I would think practicing your craft would have more of an effect on that then reading someone's opinion about something.
Personally, I consider this "programmer guy who ignores the outside world" a strawman. I've never met one, but I have met a lot of folks whose values and goals as developers differ. Some whose skills are incidental to what they do, some whose skills are better than others. But never a programmer who was so completely out of touch with the outside world that they had no idea about the major movements in our industry.
Agreed -- but practice + reading > practice alone. Especially in
situations where practice does not generate feedback, as I've often
found.
+1
Practice alone in this profession isn't enough IMHO. Bad practice
remains bad practice no matter how much you practice it. If you really
want to grow as programmer then strive to join a team of programmers who
are all better than yourself. However, don't be complacent once you're
there. Aim to be the worst, then strive to be the best. Find the experts
and take every opportunity to study their code, read their blogs, watch
their screencasts, or whatever medium they choose to share their
knowledge and experience. Chances are you'll find out that you really
weren't as bad as you thought, and soon you'll find yourself to be one
of the best programmers on the team. That's the moment when it's time to
begin looking for a team where you'll again be the worst.