From: Joe Van Dyk Date: 2006-05-24T04:49:35+09:00 Subject: Re: Zed and Luis drop the bomb on Ruby's poor performance On 5/22/06, Alder Green wrote: > On 5/22/06, Madan Manoharan wrote: > > On 5/22/06, benjohn@fysh.org wrote: > > ... > > Unfortunately, not all of us are in your boat. I really like Ruby, but > > if performance improvement is not going to be in Ruby's near future, > > my management is not going to buy into Ruby! > > > > In most of the corporate environments I have worked in, many managers > > tend to take IT decisions based on 'feelings'; 'speed' is a word that > > creates good 'feelings'. So, when the issue of performance is bought > > up, Ruby doesn't win (doesn't matter if the application requires it or > > not). > > > > IMO, if Ruby's vision is to penetrate the corporate environment, Ruby > > should address its performance issues among other things (e.g. support > > for apps -- Ruby on Rails). > > This is exactly - but *exactly* - the sort of thing that was said > about Java at its onset. Especially in environments where it was > evaluated against a C++ backdrop. And guess what? Eventually, it > didn't matter! Java did get widely adopted because it was a better > language and offered an improved development experience. > > In fact IIRC, Java was relatively much slower than Ruby when it > started gaining momentum. Certainly if you consider the computer speed > back then. How many project managers are saying "well, Java would give > us a much faster development process, and with the superior > maintainability we should not only beat everyone else to the market > but also keep ahead of the competition, but let's write the thing in > C++ to save those few extra CPU cycles"?. Now replace C++ with C, > Fortran or Assembly. How much software is written today in Assembly to > truly squeeze the last drops of performance out of the machine? ... > Exactly. > > In fact, most of C++ (and I'd arge - any lanauge lower-level than > Ruby, including Java) use is *misuse*. Most developers using C++ > today are doing it out of inertia, habit, or at most for legacy > reason. Even without the insanely powerful machines considered "norm" > on our desktop today, C++ development is 99% premature optimization. > And the funny fact is that most of those 99% won't even get the > performance they wasted 50%-90% of their development sweat (and > tears!) upon. Since contrary to popular myth, writing your application > in C++ won't make it magically faster. The developer would have to be > pretty smart for that. And for those 99%, being smart means they would > have been using Java. If they were even smarter, they'd be using Ruby > :P A lot of people write a lot of software that don't run on desktop machines. A lot of people write a lot of realtime or embedded software. In those application domains, C++ works pretty well (maybe the best?). (although, I'm not sure why you'd use C++ for anything not embedded or non-realtime. That's my experience, anyways.)