I use a little IOC in java, and for me it was one of those unexplainable "ah hah!" moments. I didn't think I needed it (and in truth, you don't /need/ it..., but you don't /need/ dynamicity or OO, either), but when I figured it out it became darned useful.