View Full Version : Programming and writing
I know we've got quite a few computer programmers on this forum. I've found that the skills I developed over the years in programming - particularly conceptualizing, planning, diagraming, building, and troubleshooting - have really helped my approach to writing. Do other programmers feel the same?
a_sharp
11-17-2007, 05:19 AM
Wa-a-l, after 40 years at it, I'd have to say it got in the way of my writing. What it did do was sharpen my editor's eye. I can spot a bleep at a glance. But I found my creative juices largely expended by the time I got home.
Yes, the organizing helps, but after a day of that, it's nice to get home and wing it.
I don't know how anyone who lays lead all day, documents, debugs, tests, and promotes can turn it off and get into the WIP story. I managed it for my last 15 years in the business, though.
zornhau
11-17-2007, 05:29 AM
I'm an outliner. I even use the MS Word outline view.
Perle_Rare
11-17-2007, 06:36 AM
After several years of creating project schedules, functional specs, technical design documents, code, code reviews, QA et al., I've actually found it fun to just sit and type whatever comes into my head. Then again, I'm an absolute newbie at this so I can't say if I'll ever publish anything but I'm sure having fun writing something a bit more eloquent than "if", "then" and "else". Syntax is throwing me for a loop though... Here I always thought sentences were supposed to end with semicolons and a period was used to dereference an object... :D
NicoleMD
11-17-2007, 07:37 AM
I was just wondering this too, since the Best Job For Aspiring Novelist thread started. I always thought the logic part helped in plotting, as well as being able to creatively solve a problem given certain inputs, but never thought about the line level benefits from debugging code like a_sharp mentioned. Having to keep track of a bunch of different data elements is probably like keeping track of characters and story elements, too.
As much as I like to outline, I've never actually been able to write from one. I like the free flow method.
Nicole
maestrowork
11-17-2007, 08:18 AM
I think all those skills are great. But the one that really is invaluable is the ability to build and add layers and complexity. You first build the framework, then add functionality, then add more bells and whistles and subtlety and exceptions handling... and each piece of code and modules also need to work well with others... the interconnectivity really helps the writer in me to think about the overall structure and plotting and subplots...
I don't really use my project management or planning/outlining skills, though -- I find them less useful in my writing. I just don't work that way when I write... to me, my creative process is more organic than my technical projects. Maybe there's a left-brain/right-brain thing going on there.
a_sharp
11-17-2007, 09:01 AM
I think all those skills are great. But the one that really is invaluable is the ability to build and add layers and complexity. You first build the framework, then add functionality, then add more bells and whistles and subtlety and exceptions handling... and each piece of code and modules also need to work well with others... the interconnectivity really helps the writer in me to think about the overall structure and plotting and subplots...
Yes, but you also see all the opportunities for tweaking and improvement, and it takes just as much self control to say No to a plot diversion as to an application enhancement. Been there, done that. And Marketing's no help, they just want it to do everything...I wunner if that's how big books get big.
narnia
11-17-2007, 09:14 AM
Ditto (or is that 'diddo'? :tongue, yeah I know, caught lurking in another thread) to most of the above, especially maestrowork. When I am asked to compose code, I am usually only given an end result in the form of, for example, we need an accum to track all of the returns that had an spi of some sort indicated. Or, we need a report that shows us how many returns were transmitted daily/monthly/yearly. Sometimes all I get is a title! Next step is finding out the high level details - what kind of returns? Good or bad? Pre-printed spis or hand-written? Etc etc. What fields do you want to see? What are the parameters? And on it goes. Then I have to go find the low level details, what tables the data is stored on, how can I join them together for maximum efficiency, etc. I put the pieces together and more often than not, something is not quite right. So I go back and see where in the flow I messed up and fix it.
Writing is like that for me, although in my case the end result is the story. This is the story I want to tell, so what do I want to say at a high level? Then throw in some details in the form of events, characters, places/settings, and such, and then go low level into the specifics. For example, how do my characters/events/etc. join together for maximum efficiency? And if something is not working quite right at the end, trace back through and figure out where it went wrong and fix it. Whether it's linear or OO, the process is the same for me with writing. I can 'linearly' go from start to finish, or I can OO my way through a complicated story. For me the logic and structure nicely frame the creative bits. Meaning that I think that my experience as a programmer helps me keep my story 'under control' yet allows me the freedom to wander off, because I know that if I wander off too far the end result won't work right. I hope that my end result in my fiction attempts will make more sense than that did! :o
And for me, if-then-else gets intriguing when you have if-then-else-this-or-that-but-if-then-else-oh cr@p the bad guy's coming-if-then-else-she gets away-or-not! :D Although debugging multiple nested if-then-else scenarios can be painful... :tongue
And I am hopeful that my nefarious debugging skills will some day some in handy for writing killer whodunits (it makes sense in my world, ok? :Shrug:).
P.S. to Perle_Rare: You mean sentences DON'T end with semicolons and a period ISN'T used to dereference an object...????? I am sooooooo in trouble!!!
:Sun:
narnia
11-17-2007, 09:15 AM
Yes, but you also see all the opportunities for tweaking and improvement, and it takes just as much self control to say No to a plot diversion as to an application enhancement. Been there, done that. And Marketing's no help, they just want it to do everything...I wunner if that's how big books get big.
Amen!!! :D
benbradley
11-17-2007, 12:18 PM
I've made the the connection between outlining and the "structured programming" fad methodology of a few decades ago (back when Pascal was going to be The Next Language). I recall some 'good' things back then such as the "Programming Proverbs" series of books. Then all of a sudden C became the standard language outside of Unix (it had always been the standard ON Unix, of course), then object-oriented stuff became the rage, and now every language looks like some derivative of C or C++. But I come from an embedded background (where I programmed very small processors mostly in C when a good cross-compiler was available, and in assembly otherwise), and all these newfangled languages look too overloaded (a pun on the object programming paradigm) to me.
But in the last year, in trying to learn about programming in writing English, I've made a connection between "structured programming" and outlining. In Computer Science, "winging it" is the equivalent of hacking (NOT cracking, that's another topic), though a significant amount of operating code is the result of hacking, just as I'm sure there are best-selling novels that are the result of winging it.
Short answer, yes, there's an analogy there, but so far I don't really see that having learned programming has helped me in my writing. And perhaps that's because my writings so far have been too short to have much benefit from outlining and such.
If anything, I might have learned a lot more about writing if in college I had taken some creative writing class (a theoretical concept, as this was an engineering school and the only English courses were the ones required for a BS degree) instead of that silly Cobol programming course.
ETA: I just realized (bolding just added) that I said that TWICE. Perhaps I should go to sleep now.
swvaughn
11-17-2007, 01:03 PM
I don't understand a word you people are saying . . .
I love this thread! :D
maestrowork
11-17-2007, 01:09 PM
And for me, if-then-else gets intriguing when you have if-then-else-this-or-that-but-if-then-else-oh cr@p the bad guy's coming-if-then-else-she gets away-or-not! :D Although debugging multiple nested if-then-else scenarios can be painful... :tongue
LOL. Definitely. For me, it's not so much about the actual organization or tools or diagramming, but the thought process of programming that helps me. The If-then-else scenarios and logic, plus the exceptions handling. The If-then-else is what drives the plot (and making sure everything is logical), but the exceptions handling is what really makes it fun -- something unexpected happens! What do you do? Where does it fit in the plot.
Of course, tools can help, too. I've done flowcharting, mind-mapping, timelines, etc. I also like using the Personal Brain (http://www.thebrain.com) to brainstorm. And if I really want to geek out, I could use Object Oriented design to map out my objects (characters) interact and behave and relate to other objects in the modules (scenes). It can be quite entertaining all by itself.
SilverPhoenix
11-17-2007, 04:26 PM
I tend to 'wing it'.
I've always intended to do computer programming as my career, even picked out a course at university I want to do now.
Does this mean I'm going to turn into an obsessive outliner or editor? ;)
narnia
11-17-2007, 06:58 PM
LOL. Definitely. For me, it's not so much about the actual organization or tools or diagramming, but the thought process of programming that helps me. The If-then-else scenarios and logic, plus the exceptions handling. The If-then-else is what drives the plot (and making sure everything is logical), but the exceptions handling is what really makes it fun -- something unexpected happens! What do you do? Where does it fit in the plot.
Of course, tools can help, too. I've done flowcharting, mind-mapping, timelines, etc. I also like using the Personal Brain (http://www.thebrain.com) to brainstorm. And if I really want to geek out, I could use Object Oriented design to map out my objects (characters) interact and behave and relate to other objects in the modules (scenes). It can be quite entertaining all by itself.
You've summed up nicely what I intended with my rambling.. :D!
Andre_Laurent
11-17-2007, 10:04 PM
After several years of creating project schedules, functional specs, technical design documents, code, code reviews, QA et al., I've actually found it fun to just sit and type whatever comes into my head. Then again, I'm an absolute newbie at this so I can't say if I'll ever publish anything but I'm sure having fun writing something a bit more eloquent than "if", "then" and "else". Syntax is throwing me for a loop though... Here I always thought sentences were supposed to end with semicolons and a period was used to dereference an object... :D
People actually do code reviews? :D
The day my company gets that bright idea is the day I post my resume. I worked for an employer that used to do that...what a piss away of good time.
maestrowork
11-17-2007, 10:43 PM
One company I worked for tried that for a while. It was basically a waste of time. OK, maybe a little bit of critique is worthwhile -- helps us all to tighten our codes -- but I think coding is very much like writing style... you can't really change how people write. Some people can do the same task with one line of code (but extremely difficult to read and debug), some need six (not the most efficient, but it's easy to maintain). As long as it works...
That's so funny that so many of you get exactly what I meant and feel the same way. I wondered if I was just nutty. For those who don't get it, I guess a basic analogy might be if you're really into jogging and you're used to pushing your body and getting into a mental zone, much of that naturally translates when you transition to mountain-biking.
burkingman
11-18-2007, 08:21 PM
III, nothing nutty about it. It's all about solving problems creatively within the constraints of a given language. I found my programming background helps mostly in two ways:
- some of my project management habits have carried over. Not so much in terms of planning (I'm way behind schedule on my current WIP), but in the way I organize and "package" my work files for each project.
- I think about structure and logical progressions a lot, which is not only an asset, but seems to have become part of my style. Instead of thinking about recursive loops and class inheritance and data structures, I get to play with repetition, and small events foreshadowing bigger ones, and the balance of a story (how the action is spread throughout, etc.). I'm also a storyteller: I write my own tales but draw inspiration from traditional patterns. A lot of traditional storytelling incorporates simple loops: for the Three Little Pigs, have the wolf attempt to blow a house down, and if he succeeds, increment the strength of the building materials (from straw to wood to bricks) and try again.
I also have a tendency to punctuate like a programmer. I can't write something like:
"Come in," Jack said.
because that comma isn't part of Jack's output and shouldn't be quoted. My instinctive approach is:
"Come in", Jack said.
maestrowork
11-18-2007, 09:28 PM
I also have a tendency to punctuate like a programmer. I can't write something like:
"Come in," Jack said.
because that comma isn't part of Jack's output and shouldn't be quoted. My instinctive approach is:
"Come in", Jack said.
LOL.
I find myself sometimes wanting to write:
Kai's jealousy = violence; if Kai kills Soon, then he must escape; else, he endures;
This is good for outlining, but not very good for prose. I tend to write a lot of "if...then" clauses and have to later change them or at least eliminate the "then."
David I
11-19-2007, 01:42 AM
I can listen to music while I program.
Not while I write.
spacejock2
11-19-2007, 05:53 PM
I think it's the other way round - far more writers (and arts graduates) should be in programming. Since research shows that women are much more natural at language than men, they ought to be over-represented in any survey of programmers, too. They're not, though.
I don't know why schools and unis still insist programming is a science discipline. Yes, hand-coded assembly was close to electronic engineering, but modern languages aren't. (I wasn't allowed to do programming at uni first time around because my science and math scores weren't high enough, even though I was in the top 1% of English and French results state-wide. I got my own back by doing a computer programming degree ten years later, as a post-grad, but even so ...)
It would be interesting to stick a programmer into a brain-scanner to see which side of the brain is involved when they're coding - language or math. I'm guessing it's the former.
Anyway, these days I earn 95% of my income from programming and 5% from writing. One day it might tip the other way, but I'm lucky because I love them both.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.