From: Jamis Buck Date: 2004-09-05T05:57:31+09:00 Subject: Re: Anyone using Copland? I need feedback! Hal Fulton wrote: > Jamis Buck wrote: > >> Copland (an IoC container for Ruby) is moving forward, and I *think* >> it's almost ready to be considered at a "beta" level of stability and >> usability. That said, I need feedback: is anyone here using Copland? >> I've heard from (I think) two people, off list, that are using it. >> >> What I need is (a) what features you feel are still missing, and (b) >> what features you think need to be fixed. > > > So many bright people rave about IoC that it must be something > pretty cool. But it always makes me think of _The Cat in the Hat_ -- > the TV version -- where someone has stolen his purple three-handled > family gradunza, or whatever it was. Nice metaphor! I don't think I ever saw that, but it sounds very Seussian. :) > > Try as I might, I can't yet grasp what it is, what it's for, or why > I might need it. That's exactly where I was about a year ago, when I was first told that we were moving to Java (like it or not), and we were going to be using an "Inversion of Control framework". They explained it and explained it, and never really got it until I actually starting *using* it. Then I fell in love with it. :) > > Reminds me of early 80s when I first heard of OOP -- from a person > who also didn't understand it. He gave me a sketchy outline of what > it was about, and I thought: Why? Why would I need that? It's not quite as fundamental of a paradigm shift, but it is still significant. Howard Lewis Ship (the creator of HiveMind, which inspired Copland) has recently described IoC as the counterpart to garbage collection. Just as garbage collection is responsible for automatically reclaiming and destroying objects at the end of their lifecycle, so is IoC responsible for creating and initializing objects at the beginning of their lifecycle. > But I'll do some more reading. :) Until I grasp it, I'll just listen > to Copland instead of coding with Copland, using plain old un-inverted > control. That works, too. :) Frankly, it isn't until you ramp up to some fairly complex applications that IoC really starts to buy you anything. (The text editors that have recently been announced have seemed in my mind prime candidates for IoC.) And for really small projects, it can just get in the way. It's also not something you use "ad-hoc"--it requires a fair bit of thought and design "up-front" to really take advantage of. Anyway--hopefully my presentation in a month will be helpful. I've learned a lot more about the topic just preparing for it. :) -- Jamis Buck jgb3@email.byu.edu http://www.jamisbuck.org/jamis "I use octal until I get to 8, and then I switch to decimal."