Subjunctive Programming
Programming in the world of “What If?” Continue reading Subjunctive Programming
Exploring Extreme Programming
Programming in the world of “What If?” Continue reading Subjunctive Programming
Chris Crawford on Game Design, Chris Crawford, New Riders Games, 2003. Chris Crawford is the designer of Balance of Power and numerous other games. He surveys his own and others’ games, and considers games along the dimensions of play, challenge, Continue reading Review – Chris Crawford on Game Design
Designing Information Technology in the Postmodern Age, Richard Coyne. MIT Press, 1995. Philosophical and a little heavy, but has some good ideas about what metaphors mean in a software context. (Reviewed Nov., ’02)
Object-Oriented Software, Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener. Prentice-Hall, 1990.Older, but this is a good introduction to the idea of object design based on responsibilities. It uses a little more elaborate form of CRC cards than I’m used to. Continue reading Review – Designing Object-Oriented Software
Using CRC Cards: An Informal Approach to Object Development, Nancy Wilkinson SIGS Books, 1995. (Reviewed Nov., ’02)
The original CRC cards are captured at C2; the first training slides about them are also at C2. They have the original CRC cards paper (OOPSLA ’89) as well. Start with these.
Design Patterns, Erich Gamma et al. Addison-Wesley, 1995. A catalog of 23 patterns used in object-oriented design. It’s a little new to be called a classic, but I’ll go out on a limb for this one. (Reviewed Nov., ’02.)
Structured Programming O.-J. Dahl, E. W. Dijkstra, and C.A.R. Hoare. Academic Press, 1972. Dijkstra explains structured programming (with an eye to proofs), Hoare explains data structures, and Dahl and Hoare explain something called “objects.” Note the publication year. (Reviewed Nov., ’02)
Design patterns are interesting in themselves, but it’s useful to be able to move between patterns while refactoring a system. We’ll look at how you can move between command, interpreter, and visitor. Continue reading Command, Interpreter, Visitor
“Architecture” is a concept central to the Rational Unified Process (RUP), but appears to have much less emphasis in Extreme Programming. Where’s the architecture? Continue reading Where’s the Architecture?