May 26, 2008

Ruby in the Enterprise

Category: development — loren @ 6:44 pm

Joel Spolsky (of Joel on Software) and Jeff Atwood (of Coding Horror) have created an excellent podcast for programmers called StackOverflow.  Listeners can submit questions by emailing MP3s, so i promptly sat down and recorded one. But i think it’s silly to just send it into the ether and wait for someone else’s users to one day get a hold of it and begin discussing it, when i’ve got a perfectly good community right here! (all 3 of you…)

So give a listen and say something productive, you heathens:

Here’s the transcript for lazy listeners, Google spiders, and the Cubicly Challenged:

====================================

Hey Jeff and Joel, great podcast.

My name is Loren Norman, and i’m a web entrepreneur and Ruby on Rails programmer in Atlanta, GA.

Joel, for your RailsConf talk, i think you should address the subject of Ruby in the enterprise.  There’s a bit of a holy war going on for these fundamental Rubyists who shout “Ruby is so great, everyone should use it.”  Of course, no language or technology can inherently belong, or not belong, in the enterprise, but the fact is it’s just not instantly practical for a corporation with millions of dollars of infrastructure in Java or .NET to suddenly inject Ruby into the mess.

So i think the real question is more along the lines of “How should a new language or technology go about entering the enterprise?”, is there a responsible path? perhaps it’s a task-by-task judgment?  or maybe there ARE there some things that should inherently be true of a language before it should be considered?

So what are your thoughts, guys?

====================================

And that question goes to my readers as well.  To the comments!

4 Comments »

  1. I think things like this are more akin to the inverse relationship between distance and proclivity to mate. That is, the more Ruby programmers there are out there (my company has .5) the more Ruby fanbois there will be (my company has 0) the more new products will be built in Ruby. Our lead web developer prefers Python so all our new systems will be built in that language for the forseeable future.

    The Ruby fanboi to Ruby programmer ratio seems pretty high, so it is probably just a matter of time. Time, and sweet sweet marketing.

    Comment by nick — May 27, 2008 @ 2:47 pm

  2. I don’t know about using the term “fanboi” here. I generally perceive it as a derogatory term, yet i think you’re making a positive point. You’re saying:

    “The more fanbois in a language, the faster it will be adopted.”

    Seems like it should be:

    “The more smart people who get things done in, and are passionate about, a language, the faster it will be adopted.”

    But i’m just trolling, mostly.

    I like your point about your Python programmer, though. Marty and I were just discussing about Google’s AppEngine on our podcast. I was like “Why did they pick Python Django first? Surely that’s like number 5 or worse of the most popular web dev frameworks, does this make any sense if they’re trying to take a market?”

    Marty’s like “Yeah, well Guido Van Rossum, the creator of Python, is heading up the AppEngine team, so…”

    Right!

    I really like Python a lot, though.

    Comment by loren — May 28, 2008 @ 7:43 pm

  3. I think there is more to the problem.

    Problem 1) How many of the developers know Ruby well enough to use it in a corporate environment?

    You can find really 2 types of devs in a company, the self taught (usually VB) and the college edgu-ma-cated, (usually c#) - NOTE: This is limited to the companies I’ve worked for, and most of my friends have. I have not worked in a corporation where this is not the norm. In these places there is already a bias between the 2 types of devs - of which the C# guys are right :) Their bias usually runs along the lines that when devs learn stuff on their own, they don’t learn the proper ways of doing things. And usually, when they take the time to learn new things, it’s related to what they already know.

    In my case, I learn the new Microsoft technologies, because that is what I am used to. And I’m biased that way. I’m comfortable with it, and I know how to use it properly. Put a bunch of me in a company, and Ruby will never get mentioned.

    Problem 2) Who makes the decisions for technology.

    Again, in the corporate world, it hard to convince anybody to scrap all the Microsoft licenses, or all the Delphi code, and rewrite everything in a new language. I worked at a company where I wanted to rewrite some Cobol code in C. The response was something about not putting my faith in fly by night technologies.

    I’ve also worked at a place where a decision on the technology was based on the tech guy on the board who was well past his prime, but like a demo he saw from a friends company. Now, if it had been a demo on ruby, I think problem 3 would arise.

    Problem 3) Dinosaurs

    It took some companies a llllloooooonnnnnngggggg time to get rid of their cobol programmers at a rate where they could be retrained/replaced by newer technologies without losing their knowledge base. If management were to come to me today and say I was going to be trained in Ruby for all future development, I’d say, well, I’m not sure. I’d probably be ok with it, but not everyone is. Many .NET developers would just pack up and get another job. It’s easier to do that then work with something new sometimes.

    Problem 4) 2 types of code to support.

    So we are going to use Ruby going forward, and keep the legacy where it is. Well, this has it’s own issues, but isn’t necessarily that big of a problem.

    With the above 4 problems I personally see, and could probably think of a few more if I really tried, I think even if Ruby was “ready for the enterprise”, it would be hard to bring into the enterprise where Microsoft is the norm, which is the majority of web 1.0.

    For web 2.0 and 3.0, I think it just needs to succeed somewhere visibly. And not just in a community site, but in a large corporate site.

    blah-blah-blah-blah: I could go on and on, but I’ll end with a question. C, C++, C# (ASP and ASP.net as well) have been around a long time, and evolve somewhat to be more like other technologies. (Notice I didn’t mention Java, I recently read Java was now officially dead thanks to Ruby, so I don’t have to talk about it anymore)

    Why is it that these languages evolve, and every so many years, the free stuff: java, perl, ruby, php, etc, get to a certain point and seem to be replaced? To corporate types anyway, this is how it looks.

    Comment by Tom Butler — May 30, 2008 @ 4:01 pm

  4. A big comment like that you should just turn into a blog post on your own blog! If you link to mine in your post, it will automatically put a stub in my comments, linking people over to your portion of the discussion. Pingbacks are awesome.

    I’ll say your bias definitely shows here in the way you view “other technologies” as one big tribe that keeps chosing a new king. Let’s get some real data here so we have a point of reference, here is O’Reilly’s analysis of all programming languages’ popularity, based on their book sales.

    Hmmmmm!

    Comment by loren — May 30, 2008 @ 8:30 pm

RSS feed for comments on this post. | TrackBack URI

Leave a comment

XHTML ( You can use these tags):
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

« Back to text comment