ActiveRecord, application design,

I must say, David’s good with the spin. I gave ActiveRecord perhaps more than it deserved, but it’s really promising in the long run. If only it were written in a less imperative code, all the little bugs I ran into wouldn’t have happened, and when it broke, I’d have the stack to tell me where. It’s still broken in too many ways. If you do something David didn’t anticipate, it breaks horribly. AR never breaks slightly, either not at all or totally unfixably. I don’t mean to speak badly of David. He’s a great app programmer — environments where you can limit the user to just valid data are perfect — but making libraries is a whole other art. You have to have this sort of Zen, making an imperfect system that’s usable by all and hard to break, rather than something tall, beautiful, and ultimately fragile. Toolsmithing isn’t as glamourous as app building, but I’ve seen more buildings with architectural flaws than hammers with design flaws. Of course, if I found one that was badly done, I’d suspect an architect of having their hand in it.

I want to hang out with a bunch of programmers and designers and app builders and toolsmiths some time, and just see if I can get them speaking a common language. It’s all art, but we all have our jargon and prejudices and ways of going about stuff, and it’d be nice to see some conceptual leakage, and see if people produce better stuff afterward. I’d love to see programmers get a good foundation in graphics; app builders a good feel for what library authors think like.