Writing code and prose
ericsuh.com
ericsuh.com
Therefore, I wish there was some tool that allowed me to write prose in a more formal (code-like, hence "boring") style, and have it translated to more vivid prose. For example, if I use the same word ten times in the same paragraph, this tool would replace it by synonyms; or if I make sentences which are too long, it would automatically break them up, or vice versa. Basically, I want to code the meaning of what I want to say, and have the tool generate the prose.
A good rule of thumb is that a code is written once, but will be re-read maybe 50, 100 or 1000 times in the life of the product.
So, in my opinion, it is crucial to optimize for ease of comprehension.
Very funny. This would make terrible prose, I guess. It is part of the art to say things only once and thus make repetitions unnecessary.
Maybe if you make it really easy to reroll the dice and get another rewording, or go back to the original? That could be interesting then.
(Also, hi Eric!)
It's just an interesting question. One way to start thinking about it is to consider the role of the author in both coding and postmodern texts: we can't really point to a clear notion of an author anymore. Who's the author of any given file in the Linux repository? There might be dozens of people involved. Maybe they together give rise to some emergent super-author, shaped by the code itself and its culture... Maybe different styles intersect and collide and create some kind of fruitful chaos. And so on.
So one hypothesis is that classical beauty in code might lead to problems in cooperation. Like, this code is so perfect that I don't want to touch it. Or the literate elegance of this module intimidates me as a non-native speaker. Lots of interesting issues.
I'm once more evoking Peter Naur's "Programming as theory building"
http://pages.cs.wisc.edu/~remzi/Naur.pdf
"Maybe different styles intersect and collide and create some kind of fruitful chaos. And so on."
No, coding is not an art where noise synthesis produces reasonable results.
And the paradox: You want the code to be simple and neat, to make it easy for others to contribute. But, you have to be very strict with accepting contributions to keep it that way... so it's not so easy for them to contribute.