From: ptkwt@... (Phil Tomson) Date: 2004-02-09T09:37:31+09:00 Subject: Re: Python 25 times as popular as Ruby !? In article <401CB041.5000606@po.cwru.edu>, Dan Doel wrote: >Lothar Scholz wrote: > >>The result is a real fiasco for ruby in some areas. >> >Why is this a fiasco? I don't think fiasco is the right word. > >Why must Ruby be far more known than Python? > >We here know it and like it. I'm sure if other people ask us our opinion >on a good >language, we'll suggest Ruby. > >But why should it matter if Ruby is more known than Python or Java or C >or whatever? > >If you like it, use it. If you don't, don't. One needn't worry so much >about what other >people are doing. > >After all, Ruby isn't a religion, and it isn't in a contest with other >languages. > I would tend to agree with you, but I'll present counter argument for the sake of discussion. Three things: Critical Mass, mindshare and perception. If a language reaches Critial Mass (meaning that it has gathered some number N users [I don't pretend to define N here]) it will tend to develop faster. More libraries will be developed more quickly. More documentation will be developed more quickly. More books will be published about it. Many hands make the work lighter. Perl reached critical mass years ago. Python is probably close to getting there (maybe it's already there?) Which leads to mindshare. At some point the language gains mindshare such that if you mention the name of the language to a non-user of the language or technically inclined manager chances are that they've at least heard of it. The perception of said language among management types (for example) will tend to be that it is at least 'real' - as in usable for real projects. A person recommending said language will encounter less resistance to using that language on a new project. I suggest that in the US at least, Ruby suffers from a perception problem. We know that Ruby is up to the task for developing large, critical applications. Some of us have used it in a commercial setting for developing just those types of apps and we've been successful. However, outside of our community the perception is that Ruby is mostly a hobby language. We of course know that that perception isn't reality, but how do we change that perception? Also, the perception out on the 'street' is that Ruby and Python play in the same space and to some extent this is true. Given that perception, you find some people wondering why Ruby exists in the language 'marketplace' (they think it's just redundant - see Bruce Eckel's comments about Ruby). Here again, we in the Ruby community know that Ruby isn't redundant, but how do we convince people outside the community? I think it mostly comes down to convincing someone to actually use both languages for a few days solving some real-world problems - when you actually do that you get a very different 'feeling' from each of the languages. Problem is it's difficult to quantify a 'feeling'. I'm not suggesting that everyone who does this sort of comparison between the two languages will come down on the side of Ruby, however, I suspect there would be more of an even split instead of 25:1 in favor of Python (or whatever it actually is). So how do we get to critical mass? It's a chicken-or-egg situation. "Well, the Ruby community is a lot smaller than the Python community, so I'll go with Python" I hear that a lot. It's not really based on merit (as we would hope). There's an old saying that goes "To him who has much, much more will be given" and we see that this is often the case. There's also an old proverb that says "The race isn't always to the swiftest"; we've seen that be the case over and over in technology whether it's betamax vs vhs or Mac vs Microsoft, often the inferior technology wins. Sure, we think Ruby is a superior language, but that doesn't guarantee widespread acceptance. I would also suggest that if we don't get to a certain level of mindshare that we'll never get to critical mass and if so Ruby will always be an also-ran in the OO scripting langauge arena. It will be remembered as a footnote somewhere: "Ruby - an object oriented scripting language which borrowed from diverse sources including SmallTalk, Perl and Scheme. It had a small devoted following and even many outside of it's small community thought it had potential, unfortunately it didn't gain enough developers... blah, blah". So, yes, we like Ruby here in our little community, and I even hear some people outside of our little community give kudos to the language, but we're probably not growing fast enough to escape our 'gravity well'. I don't want to be all pessimistic. I'm seeing some signs of movement. In the last month I've proposed Ruby for a new project for a large corporation that I'm doing a contract for. It's been a bit of a sell because most people still haven't heard of it, but it's been easier than it was in the past. So at this point it looks like I'll be getting paid to program in Ruby again and that's a very good thing. So, again, how do we get mindshare? You're right, Ruby isn't a religion, it's a language we like around here on clr and we'd like to see it used in more places so we can get to use it in more places and because we tend to think it would be beneficial for a lot of projects. Phil