From: David Pollak Date: 2006-05-04T22:19:59+09:00 Subject: Re: Sharp knives and glue ------=_Part_2927_27310417.1146748796466 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 5/4/06, Ross Bamford wrote: > > (I was keeping out of this thread, but...) > > On Thu, 2006-05-04 at 06:58 +0900, David Pollak wrote: > > I'm sorry, but please, go back and read my posts. I love Ruby. I thin= k > > Ruby is awesome. There are parts of Ruby that need improvement. Some > of > > these things need to be improved/fixed before Ruby is ready to compete > with > > J2EE or .Net for enterprise systems. The reason I am spending a lot of > time > > hammering on this issue is that I believe Ruby should be the next > > language/system that captures developer mindshare like Java did 10 year= s > > ago. > > How to win friends and influence people, eh? I'm sure ruby could be > improved in some ways, and I'm sure Matz will make any improvements that > fit. But 'fixed' is the wrong word here - if some idiot chef cuts > himself misusing a sharp knife, should the kitchen throw out all the > knives, or just the idiot chef? Ruby is fine for the existing Rubyists who are willing to live with the issues. If Ruby wants to become more that a niche language that's currentl= y getting 15 minutes of fame because of Rails, Ruby has to evolve to support the needs of enterprise users. Matz has taken the best from a number of languages. Reading his slides on Ruby 2.0, it's clear that he understands = a lot about how Ruby has to grow and evolve. I am suggesting that there are other languages to look at and learn from such that Ruby > 2.0 continues to evolve to support the needs of larger teams building larger systems. Yes there is ruby-based software out there that, through careless > metaprogramming, breaks in combination with other stuff. I guess we've > all been bitten by a subtlety here and there. One of the benefits of > ruby is that a "very, very good programmer" like yourself can jump right > in and fix such broken software if you wish, rather than complaining > that ruby's sharp knives are defective because they're sharp. Perhaps you should go back and read the entirety of my posts rather than making this statement. My premise is that Ruby is not ready for enterprise use because the inability to predict the behavior of programs. If one cannot predict the behavior of programs, one cannot test the programs. If one cannot test the programs, one cannot deploy the programs into environments that have significant regulation (e.g., financial services, health care, insurance, etc.) I gave as an instance of this issue, Instiki. So... let's drill down. - Instiki was written by someone who was not an 'idiot chef' but a skilled Ruby programmer. - Instiki was written using Rails... the "way" to write web apps in Ruby. - Instiki is not a complex app (the application itself is < 2,000 LOC). - Yet Instiki has somehow fallen into this issue of unpredictability because of the order of class loading. - If a non-complex Ruby app written by a skilled Ruby developer using standard Ruby tools breaks, how can a large company trust that a very complex Ruby program that has passed QA won't fall into the same issue i= f the first user opens the "latest transaction" rather than the "account" = page first thus causing a different order for class loads. We can take two approaches to this issue: 1. Not worry about and 3 years from now sit around saying, "Ruby coulda woulda shoulda" 2. Discuss the issues in a way that leads to solutions being found so we can all improve something that we're all passionate about. To address the personal issues... I'm not here to make friends. Search for dpp@athena.com in comp.sys.next.misc. You'll see why I spend time in newsgroups. It's also not worth my time to spend more than the 3 hours tha= t I spent tracking down an issue in 3rd party software. I'm hosting my Ruby Playground on Instiki because I think it's best to eat the Ruby dog food. If I wanted a solution to the wiki issue and I didn't want bugs, I'd instal= l a PHP or Perl based package. If I wanted a mature environment for writing code, I'd stick with Java. I want something new and better... Ruby... and = I want it to grow in popularity by servicing the needs of a larger and larger user base. -------- David Pollak's Ruby Playground http://dppruby.com ------=_Part_2927_27310417.1146748796466--