Hi -- On Tue, 15 Jan 2002, Brian Marick wrote: > But I think there's a bit more to it than that. The literary critic Stanley > Fish talks about "interpretive communities". Different schools of readers > internalize different ways of looking at texts, different theories of how > to read. People cannot easily "step outside" their internalized way of > reading; they see what (and how) their theories tell them. > > And, because readers are also writers, you get reinforcing loops. As a > simple example, some readers are taught that where poets break lines is > significant. Each line break completes a thought, even when it's not at a > sentence boundary. When poets know that, they start playing games with line > breaks. So now line breaks become even more significant. Cf. Fish's experiment (is this in "Is there a text..."?) where instead of erasing the blackboard at the beginning of class, he leaves whatever words happen to be there from the previous teacher and tells his students that it's a poem. [...] > I bring up interpretive communities because it can be hard to talk between > them. So much is implicit, hard to articulate. Their practices and tools > are all intertwined and self-reinforcing, so it's misleading to talk about > anything in isolation. Often, the same words have different connotations. And it's not just words. Cow magnets also come to mind. (Sorry, that's an aside to the Ruby Conference interpretive community :-) [...] > Stanley Fish's "affective stylistics" reminds me of Ron's narrative of > reading Smalltalk-style Ruby code. In affective stylistics, you scan chunks > of text and ask "What is the reader thinking at this point? What questions > does she have? What does she think she knows?" You (if you are Fish) pay > special attention to how the text tricks the reader, keeps her off-balance, > when the overall message of the text is something like "there is no > certainty". (That is, he likes to show how texts *make* the reader > uncertain, not just tell her that she should be.) All of this, though, takes place *within* an interpretive community. If you ascribe agency to the text (it tricks the reader, makes the reader uncertain, etc.), then we're already inside a community, where it has been agreed, so to speak, that Textual Property X produces Cognitive Effect E (confusion, clarity, etc.). Which then still leaves the question of whether a programming language community is, or can become, an interpretive community in this sense. I have a feeling that there are sort of pre-communities out there... for example, people who love or hate camelcase, people who prefer long or short methods, and so on. People who have certain affinities of this kind may gravitate in non-random numbers to certain languages -- though at the same time it's probably unlikely that a given person will find *any* language to be an absolutely perfect fit in these terms, and it's virtually impossible that anyone's usage will fit into everyone's ideal scheme. Clarity is such a vexed thing. I believe people who say that they find Perl code clear. (I used to find it reasonably clear -- I'm a little out of the loop right now :-) I also believe people who say they find it opaque, and I believe those people when they say they find code in some other language clear. (Which is to say, if a non-programmer said Perl was opaque, that wouldn't "count" in the same way.) Clarity is annoyingly relative; it seems that what you find clear is what you've learned to find clear, and/or perhaps are cognitively predisposed to find clear. At the same time, the experience of perceiving clarity in code is a real experience. So the question becomes: how do we arrange to share that experience? Sharing a language is a good first approximation: people who use Ruby tend to describe Ruby as having clear syntax. But we still debate about what's clear and what isn't. Maybe there's an irreducible amount of that that we just have to live with. Then again, maybe the amount we habitually live with isn't the irreducible amount.... > I read Fish because, well, I'm weird. But I'm also interested in the ways > that code unintentionally tricks the reader. The rather simple techniques > of affective stylistics might help programmers write better, be better at > finding "code smells". "Unintentionally tricks" -- now you're *really* ascribing agency to the text :-) But still... can you elaborate on what you're suggesting here? I'm not sure, in practical (coding, stylistic, work habit) terms, exactly what you mean. David -- David Alan Black home: dblack / candle.superlink.net work: blackdav / shu.edu Web: http://pirate.shu.edu/~blackdav