Two books that helped me learn how to write clearly modularized programs were Starting Forth (1981) and, especially, Thinking Forth (1984) by Leo Brodie. Of course, these are for a particular language, and one which encourages -- you might even say requires -- modularization. But a lot of the tips are about how to *think* about the program you're creating, so they carry over into other languages. And they're especially good for showing what can be done even in low-level languages ... like Forth and Pd.
Hans-Christoph Steiner wrote:
This all makes me think that we should write a Pd book that covers things like good form. Perhaps we could make it a decentralized collaborative effort with strange consensus decisionmaking to mirror the Pd community :D
.hc
On Jan 12, 2008, at 8:41 AM, Jamie Bullock wrote:
On Fri, 2008-01-11 at 11:29 -0800, Dudley Brooks wrote:
Can anyone direct me to articles on constructing clear, modular, non-spaghetti patches in pd or other visual dataflow languages? Especially if the articles derive their recommendations from theoretical analysis (as with the investigations that led to structured programming in imperative languages), rather than just rules-of-thumb -- although the latter are useful also.
You might find this document interesting if not helpful:
http://dspace.mit.edu/handle/1721.1/13474
Or is some amount of spaghetti unavoidable in dataflow languages, perhaps because it is inherent in the situation being modeled, rather than being an artifact of the language?
Personally, I find that there is an idiomatic way to use most languages, which is congruous with the way the language is designed. Of course, people may want to deliberately subvert this relationship, but I guess that's different from using something in an unidiomatic way and not being aware of the fact.
Although, I think Frank wrote these in a non-didactic spirit, I find Franks 'dogmas' very helpful for clear and idiomatic Pd patching:
http://lists.puredata.info/pipermail/pd-list/2007-04/049447.html
I have also found Frank's 'footils' collection of abstractions to be an excellent source of idioms and examples of how to make clear and coherent patches.
I must stress that I'm not suggesting that this is the 'correct' way to patch, I just personally find it to be clear, elegant and spaghetti avoiding!
best,
Jamie
-- www.postlude.co.uk
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Man has survived hitherto because he was too ignorant to know how to realize his wishes. Now that he can realize them, he must either change them, or perish. -William Carlos Williams