Critical but helpful. Speaking of being critical: Awful Users mean Great Product. Your worst critics may be your best help. Original article here.
Get disorganized. Another good article from Vagueware: Too Much to Do, Too Little Time? It’s Probably OK.
To DSL or not to DSL. Floyd Marinescu gives his on-the-fence opinion on DSL. Now, personally, I think purebred DSLs are recipes for disaster masquarading as good ideas. As evidence I’d like to present the court with XSLT and Maven. I have more examples, but these two will do well to illustrate what happens when your problem requires more than 50 lines of code, and some simple data handling. On the other hand, DSLs written in generic languages just work. You get the simplicity of the high level language with the ability to extend it as far as computers can compute. But don’t trust me on this one, try it yourself.
The meaning of things. ApochPiQ’s write up on DSLs is a great read, specifically because he’s talking about a domain I know nothing about: games. It’s easier to read his arguments without getting bogged down by details.
And speaking of details and meaning, the first part of this article reminds me of something. A conversation I had the other day about static vs dynamic languages. The person I talked to had such strong convictions in the truth of statically typed languages, he forgot why those types exist to begin with. And by types I mean classes and objects. Objects were controversial just two decades ago — remember “average Joe can’t get objects, blah, blah”? — we embraced objects because after all the difficulty, they save us from redundant code. They let us work at a higher level of abstraction, do less and innovate more. How easily we forget the meaning of things.