From: Pit Capitain Date: 2008-12-05T07:29:04+09:00 Subject: [ruby-core:20327] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) 2008/12/4 Charles Oliver Nutter : > I can appreciate the "choice is good" argument, but I think the Ruby world > needs a little less dogmatism about "choice" and "freedom" and "beauty". > There's practical concerns here, concerns about API stability, > thread-safety, performance, memory efficiency. Too many of those concerns > are sacrificed on the altar of "choice" or "freedom". And who decides which things are more important than the others? Based on which criteria? I'd say the Ruby language doesn't need more dogmatism about things like performance and memory efficiency. > In the case of core classes, we're not talking about closing them down > completely; we're talking about guaranteeing to all developers and users > that some minimum set of methods will do what you expect them to do, now and > forever. We're guaranteeing that 1 + 1 will continue to == 2. So I couldn't add some logging or tracing to Fixnum#+? This looks pretty closed to me. > And it's not > the case where *you* want to override a core method that's the > problem...it's the case where someone else overrides it--potentially by > mistake--and you don't find out about it until later. If you want to prevent this, you have to close almost all core methods. Is this what you are proposing? Why is the current Fixnum.freeze not enough? > Ruby needs to grow up as a language by allowing people who want guarantees > to get guarantees. Says who? If you want to change Ruby in such a fundamental way, why should it still be called Ruby? > And there's a lot of people who want some minimal, basic > guarantees about core classes. Do you have any references for this claim? I'm definitely not in this group. Regards, Pit