From: Phil Tomson Date: 2006-06-06T13:34:31+09:00 Subject: Re: I love Ruby - But how bright is Ruby's Future? On 6/5/06, Francis Cianfrocca wrote: > What I meant was that Python has achieved a degree of respectability in > corporate environments that Ruby hasn't yet. It all depends on where you're looking. I'm in a very big corporate environment (though, admitedly we're kind of an isolated group that has some independence) - It's a well known, household-word type tech company. I'm seeing that Ruby has lots of respectability in our group. Even more than Python seems to have. > And this doesn't happen by > itself, and it certainly doesn't happen just because a language is > particularly well-done or particularly nice for programmers to use. I think > you may be underestimating the degree to which technology choices in large > organizations are driven by the need to reduce the perception of risk. It's > not universally true that a programmer who "delivers the goods" will get to > pick his technology. If you're in a reasonable group then the emphasis is on delivery. If you can deliver product X twice as fast by using technology Z then after a while nobody (including management) is going to care that technology Z hasn't been blessed by corporate. At some point it will be blessed by corporate because it increases productivity. It can take a while to get there sometimes, but I think Ruby has pretty much arrived at the point where it's being 'blessed by corporate' in enough shops that it's really just about mainstream. > > But the question gets asked here time and again: who cares if people in > corporations don't use Ruby, as long as I can use it on my own projects? > Entirely valid. But if you really like using a language, wouldn't you want > to use at work as well as at play? And to get that kind of acceptance for > Ruby will take some serious advocacy. With the rise of Rails, that may be > starting to happen, but it's too soon to tell. Compared to 2001 it _has_ happened; back then it was an uphill battle getting companies to use Ruby. Rails has helped tremendously, but looking back I notice that I've had several paying jobs that involved writing Ruby code (even back in 2001). The change now is that I don't have to educate people about what Ruby is, they already know about it and either they've been learning it or they want to. > > Because I'm a businessperson, I'm always struck that people would question > the value of achieving greater acceptance for anything. Different strokes > for different folks, of course. But at some level, I have to think about > protecting the investment that I make in people who learn Ruby while working > on my projects, which I've done several times in the three-plus years I've > been shipping commercial software written in Ruby. Although I personally > love programming in Ruby and do it whenever I can, your points really throw > the larger business questions into relief. > > (For the little that it's worth, we shipped a pair of apps in Rails, and > coudn't get past the performance issues, so we now ship web apps in > handwritten Ruby with our own handwritten web servers.) > > And to your point about programmers who deliver the goods: I've been > privileged at several times to have some of those magical crazy people > working for me who can deliver almost anything on almost any schedule. And > although the sample set is small, those I have known all share this key > characteristic: the programming language DOESN'T MATTER. An individual who > really understands software development doesn't pick a programming language > to concentrate on. He's productive in anything you tell him to use, and he > doesn't particularly care either. But the language choice _does_ often matter especially when schedules are tight and manpower is short. If you want product Z done and you give me the choice of implementing in either C++ or Ruby and you want a schedule I'm going to tell you that in Ruby I could get it done in x weeks while in C++ it'll take 4x weeks. If runtime performance isn't an issue then using Ruby for the project is an easy choice. Even if runtime performance is an issue, Ruby and some C code might still be a very good choice. I suspect that these magical people you're referring to would balk if you suggested that you want your next project done in COBOL or Basic, so programming language choice does matter to some extent even for them. If it weren't for the adventurous programmers who decided they weren't satisfied with the status quo we'd likely still be using COBOL and FORTRAN. Phil