Looks very interesting. The game industry tends to have a rather
different set of constraints on their products than other software
industries, and it's often enlightening to see how "best practices"
evolve differently given those differing constraints.

So, I read through the link he had to his "compression-oriented
programming" and was struck by the (apparently unintentional)
similarity of what he was describing to the "builder pattern" that's
very common in efficient functional programs that do things like
building HTML files or serializing data structures to a network
stream. The idea of a "shared stack frame" is more or less the
definition of a closure in low-level terms. And the concept of a set
of persistent data combined with a set of functions that know how to
manipulate that data is also pretty much the core of the object
concept, which he spends some time mocking.

This isn't meant to be a criticism of him or the article; the
refactoring he performed in the article strikes me as a very good one,
and I think that the fact that it's echoed in other contexts
underlines the value rather than diminishing it. Good design sense is
mostly independent of programming language, and it's definitely
something that takes experience and study of well-designed programs to
learn. Hopefully this will end up being a good resource for learners,
though I'm not sure I'll have the time or patience to watch such a
huge quantity of hour-long live coding sessions in C.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to