I'm firmly Class 2, although I weaned myself off the need to know to precise implementation before I went mad (I still have to understand it more or less). But I cannot stand "magic." I hate Convention over Configuration, and can't stand Rails because of it.
Why am I like this? I think part of it's inherent. The rest of it comes from years of having software break. My assumption is that sooner or later, something will break, and I'll have to debug it. And if I know how everything works now, I'll at least know where to start when the time comes.
We're going to window like it's 1985. That's just precious. That's close to how the Mac did it in Quickdraw, except that they handled the cursor differently so it didn't lag, and they supported rounded corner clipping regions. (The guy who wrote that was in an auto accident, and Jobs went to see him in the hospital, asking frantically "do you still remember how regions work?")
Steve entered the hospital room and was relieved to see that Bill had regained consciousness. "Is everything OK?", Steve asked. "We were pretty worried about you."
Bill turned his head and looked at Steve. He managed a painful smile. "Don't worry, Steve, I still remember regions."
A reminder about why checking sources it's important. Our memory can be tricky.
I used to work on anti-cheat software for online video games for a time, and it was always interesting to see some cheats include full-fledged windowing systems (and even scripting) just like this example code.
http://www.trackze.ro/windowing-systems-learning-by-example-...
btw, I'm a Class 2 programmer and proud! :)