Thoughts on Software Design
Stray halfbaked thoughts I want to record here:
- Software architecture perhaps relates to software design by being limited to dealing with vision, coordination, and time, whereas the latter deals with aesthetics (or ‘aesthetics’), structure, and logic.
- Listening to Jonathan Strange & Mr. Norrell, which by no means intends to be an accurate account of how magic was done, led to weird thoughts about magic and software development. In the book, a central idea is that what marks a good magician is his knowledge of spells (and how they can be combined) – which are recipes, or design patterns. So the magician was a performer; magic was a performance. Each performance a reuse. There’s a body of knowledge in software development as well. Deciding on a particular software design is usually reuse, combination, variation. (I had some thoughts about platforms and tools as well, but I can’t remember what they were.)
- And how does design matter to software? Because it means adopting an experimental, exploratory, irrational attitude.