3 ms·
Writing software is a lot like writing, yes. I've been reading Stephen King's "On Writing" several years ago. What caught my attention is how King describes wr
by mannicken 18y ago
Writing software is a lot like writing, yes.
I've been reading Stephen King's "On Writing" several years ago. What caught my attention is how King describes writing process.
He says that a writer visualizes everything in a scene he is about to describe and "hears" people talk, "sees" objects move. Then the writer uses a method of telepathy that involves using letters and words in a proper albeit frivole format to convey the whole scene to a reader.
In a way, and this is another analogy, writer telepathically TRANSFERS the scene he has in his brain to the brain of a reader. Like this:
King's brain -----writing-writing-writing---> reader's brain.
It's not the words, not the letters that matter but the scene that King can build in reader's brain. If reader doesn't understand the notions of telepathic protocol (e.g. written informal English), he can't build this scene in his brain.
In a way, this is like Paul Graham said: programmer IS a program. He has a program in his brain, all important parts of it, everything and then he modifies and "sees" what an object does to another object, how the data gets transformed. Then he writes whatever he has seen and heard in his brain to software, writing it out piece by piece, much like a good writer.
When there are bugs, they are similar to misunderstandings. Watch a fundamental Christian read an essay about people searching for truth and god. He'll think that it is a personal assault at his faith, while another person might think it's a brilliant and inspiring essay about freethinking.
Hence the principle of writer: write for your audience.
The problem of course, is that for a writer, audience and the writer himself are extremely similar. A writer and his audience are made of the same stuff. They've usually listened to the similar people, similar music, read similar books.
A programmer and his audience (interpreter/compiler) are much different. Programmer's audience doesn't understand why Beatles kicks ass so he can't allude that, programmer's audience has much different values and understanding.
Yeah, but try alluding to the fact "Beatles kicks ass" to a baptist pastor and you'll see a huge bug: for pastor Beatles might as well have come from the devil himself.
Also, note how I assumed that all pastors hate Beatles. You might have had a different experience; hence you might be pissed off at me.
Holy shit, I did write a lot of words.
References:
Stephen King's telepathy => http://www.inmedium.org/2006/09/from_on_writing_by_stephen_kin.html http://www.inmedium.org/2006/09/from_on_writing_by_stephen_k...
PS. Wow, I just understood that when you make this analogy with open-source software, many things make sense. Can you imagine a world where to read a book you had to hire a translator from company's obfuscated language (machine codes) that would make you forget the contents of it after you were finished? What a bunch of apeshit crazy motherfuckers!
It is already happening, just read RMS' page on Don't buy Harry Potter books (http://www.stallman.org/harry-potter.html http://www.stallman.org/harry-potter.html).