• Member Since 11th Apr, 2012
  • offline last seen Yesterday

Bad Horse


Beneath the microscope, you contain galaxies.

More Blog Posts758

Jun
21st
2013

Is writing like computer programming? · 1:13am Jun 21st, 2013

Structurally, writing is like computer programming. A story has the same hierarchical structure, the same complex interdependencies, as a program. Both require a big toolkit of patterns and structures, an intuitive sense of which ones are right for which project, the ability to estimate how big the different parts should be, and an awareness of common errors and pitfalls. And the more you write, the more you can just dive in and start hacking in ways that would lead a beginner into disaster.

But computer programming never fills me with doubt and self-loathing (other than self-loathing for being a computer programmer). I don't get programmer's block. I don't sit back and look at my program and ask, "Why did I write this? Does this mean anything to anyone else?" I don't say, "That's it. I will never be able to write another computer program."

And writing gives me a joy that programming doesn't approach, maybe never approached. I used to love programming. Could writing one day bore me as much as programming does now? It's a scary thought, but on reflection not one that really matters. Joy now is still joy.

Now that I think about it, programming gave me joy when I wrote programs that gave other people joy. Games, stories. Linear discriminant analysis, not so much. The medium isn't the message.

What are your favorite analogies for writing?

Report Bad Horse · 547 views ·
Comments ( 29 )

Writing is like a hooker. Sometimes it's easy and fun, other times you get an STD and have to hunt her down and torture her to death.

Programming is straightforward, you have a thing you want the program to do and you put the pieces in to get that result out.

My favorite analogy is shouting into an abyss in the hopes of hearing something echo back.

1157584 Have you been reading bats's blog or something?

I'll have to think about writing the act, but I'll give you one about writing the product that's both way out in left field and surprisingly credible.

Good writing is like the transit of Venus—a rare event, hard for the casual observer to even perceive, but full of true wonder to the connoisseur.

My favourite analogy that I've come up with relating to the practice of writing?

A writer getting a degree in English is like a transsexual taking hormones: you still need work on your voice. :pinkiehappy:

1157601 It isn't straightforward, though. The key difference is that you can usually know when a program is good and when it's bad, and when it works and when it doesn't, so you can just keep hacking at it and at least not make it worse. But the flip side to that is that you can fail definitively. The more-complicated a program's purpose is, the fewer people who are able to write it. I can write in a few weeks a program that a team of people failed to write in months, because I can see before I start what it really has to do, where the information is buried, how to organize it in a way that lets the parts interact cleanly.

As a "discovery" type of writer, I'd have to say that one way of looking at my own writing is as though it's like geology: Semi-random events of nature take bloody forever to create mountains, valleys, deserts, and oceans, and they're only beautiful if someone shows up to look at them and enjoys them. The readers who can climb to the peak of the tallest mountain may have the most beautiful view in the world... or if a story truly sucks, they may only be looking at the Los Angeles basin. :P

I prefer to think of my own writing as brush strokes painted onto a blank canvas, always subject to changes large and small, and never quite perfect even when I think it's done.

It's like a performance art, but performed in private. I certainly see parallels between acting and writing, but I don't think anyone would pay to watch me write. I'm lucky people even read my stuff.

In terms of programming, it doesn't engender the same feelings of pride because it lacks creative elegance. Functionality, # of features, optimization and such are what's rewarded. In terms of analogies to writing, that's more like an essay or scientific journal. Creative writing is more like that insane perl one-liner that absolutely no one can decypher, that'll guarantee your job security for years to come.

My personal favorite analogy for writing, is that it's like getting hit in the nuts, hard. It is pain incarnate, but if you put it up on the Internet, you'll get some upvotes.

In terms of programming... no. Just no.

Now, editing is very much like programming. You know there's a problem, you have a fair idea of what it is, but where the frick is that misplaced semicolon?

I tend to think of it as sculpting a world from the clay, working the stuff of all creation, calling a world into being. I could wax poetic for DAYS on the sublime bliss of calling into being a set of beings and setting them on their course, watching them bump and stumble towards the destination you've set out for them. Which would of course result in me then slamming my face into a desk for the separate and unrelated reasons of "I am being a derp" and "Oh god I was so mean to Pinkie!".

Also, calling it sublime bliss ignores the other aspect. The "WHY IS NOTHING WORKING HOW I WANT IT TO" aspect. I suppose in my comparison, that's the free will element.

... which is decidedly fitting, considering most every problem I have with writing comes from one of my characters acting... contrary to my goals. TWILIGHT YOU AND APPLEJACK ARE SUPPOSED TO HATE EACH OTHER STOP TRYING TO MAKE UP AAAAA

Comment posted by Joural deleted Jun 21st, 2013

1157626
What I meant by straightforward, if you tell a computer to get a certain value, that is exactly what it will do. You don't have to worry about a computer misinterpreting a command out of confusion or malice, or if it will know what the command means, or if it will get bored halfway through and wander away.
Any fault in a computer program can be directly traced back to the person who made it. The machine itself doesn't possess any responsibility or agency in the matter.

I don't get programmer's block. I don't sit back and look at my program and ask, "Why did I write this? Does this mean anything to anyone else?"

I find this kind of funny. I don't yet program for a living, so I'm limited to basically creating nicknacks and tiny tools, when the occasion arises. If the big, famous works of code--Java, Windows, Firefox, Linux--are the big, famous novels, my code is the one-shot fanfic in the abandoned corner of Fimfiction that got six views in six months.

In both domains, I find it difficult to see the point in finishing what I start. That little gewgaw I wrote in JavaScript isn't going to make anyone's life easier: it solves a problem that doesn't exist. This dinky little HiE isn't going to give anyone enjoyment; its characters are terrible and its themes are trite. Neither one is going to do anything but waste the time of a total stranger. So if they present me with much difficulty, why finish? For the abstract satisfaction of finishing? Who cares about abstracta?

Writing is like programming with every line of code quantumly entangled with other lines. Every single piece does arcane dances with every other piece, and that's before users stick their causality-troubled thoughts into it.

Though I've never written any stories good enough to be seen outside the caverns of shame, so what do I know.
th01.deviantart.net/fs70/200H/i/2012/253/e/3/sitting_derpy_by_xgsymarley-d5e9kyf.png

Writing is Mount Everest. Huge, imposing, and tends to either leave the climber either feeling on top of the world, or feeling like they just wasted far too much of their time. Both also attract crazy people. :raritywink:
The main difference is Mount Everest has a better wireless connection than most author's homes do. (I understand it has perfect 3G coverage.)

Writing is like building something out of Legos. You have all these little pieces that individually don't mean anything, but you put them together in just the right way and suddenly you have a starship, or an airplane, or a firehouse.

1157656 Now admittedly, I got out of the programming game early, but I've always felt very much the opposite. To me, coding does engender pride and does have creative elegance. The flexibility isn't as large as in writing, but even on the small scale, I always found that there were a variety of algorithms I could find to do what I wanted. Even picking variable names is, to me, an act of elegance. I want names that are intuitive, elegant, and short, so someone reading my code can see what I'm doing without extensive commenting.

But when and where I was an undergrad, our CS curriculum did an excellent job sucking the joy out of coding. That's why I never took it farther than I did, though apparently some people seem to think I've got it tucked away as some secret skill I can bring to bear on the world in moments of dire need for humanity. Well, I can clean up after my pointers, anyway.

But if we're going to keep on with the writing and coding analogy, here's how I see things. I'm kind of in the same boat as 1157633 as a discovery writer (and I love that geology analogy). Or maybe I'm about half-and-half between discovery writing and outlining. I usually try to know the beats I want to hit. I know where A and B are, but the path may involve stops at A', A'', A''', etc. So to me, the closest programmatic analogy is that writing is like the simultaneous execution of a number of different subroutines all capable of displaying emergent behavior.

From what I understand of it—and here I'll risk marginalizing myself some, but this is apparently a thing in the fandom, so whatever—this is what appears to be the underlying psychological mechanism behind tulpae. You hard-wire a set of independent thought routines that become increasingly interactive over time as they become more firmly automaticized. And you wind up with something that's effectively a .tsr in the brain that mimics certain symptoms of psychosis without the pathopsychology.

It's a notion which I think is, in some sense, implicit in the mind of every discovery writer. Characters and stories are complex systems, and you let them develop under their own power. Though I think this works best when, instead of just acting as a passive recorder, you take on a role more akin to that of bonsai cultivation. Define the channels in which the characters are allowed to move and grow, so that they have to move toward the goals you intend for them.

And... I think I've emergently dissociated myself from the topic. What were we talking about?

Writing, or at least the process of writing a chapter, is like trying eat a cup of really hard italian ice with one of those stupid wood spoon things.

At first, no matter how hard you stab it, you can only scrape a tiny bit at the surface. But as you keep on working at it, it starts getting slightly warmer, and you find your excavation attempts prove more and more fruitful, until you're removing whole chunks. By the end, there's a few bits stuck on the side, that are difficult to get a with the spoon, but you're almost all the way done, so you truck it out, and finish the whole cup.

Or alternatively, you get frustrated at the italian ice, and leave it in the back of your fridge for a year.

That's actually the analogy I came to as well, once. Programming is like writing for a very, very simple reader; writing is like programming for the most complex possible interpreter.

I think that's one of the reasons writing is less likely to become boring, really. Since the complexity of other human minds is only understandable to a limited degree, writers can learn technique their entire life and still not learn everything about writing.

My favorite analogy is the one Flaubert provided in Bovary about language.

Language is a cracked kettle on which we beat out tunes for bears to dance to, while all the time we long to move the stars to pity.

I would dispute the anology that writing is like computer programming. I've never sat at my desk at 3am screaming at my latest story, "Why don't you compile, you (censored)!"

I'll go more for Writing is like Sculpting. When viewing the end result, my first opinion on 99% of it is "You expect me to pay money for that?" (and the other 1% consists of my wife saying, "You are not putting that in our yard!")

My code won't compile because of missing semicolons;
My stories get rejected because I use too many;

> I don't get programmer's block. I don't sit back and look at my program and ask, "Why did I write this? Does this mean anything to anyone else?"
Don't know about you, but my quality standards for code and writing are very different. When I code, my goal is to get a program that works, reliably, under the circumstances in which I wish to use it. There is a Right Answer. If I pass that threshold of Right Answer, the code is finished.

When I write, my goal is to set to words the world inside my head. There's no Right Answer. There's the threshold of "produce words which are legible and carry meaning," which is trivial, and there's the threshold of "convey what I wanted to convey, artistically, in a form that pleases myself and readers", which is bluntly impossible, because I'm writing a single piece of code that must behave similarly on thousands upon thousands of processors with different parsing rules and runtime environments. If I tried to code in the same way that I tried to write, I would quickly give myself a meltdown.

1158424
> I've never sat at my desk at 3am screaming at my latest story, "Why don't you compile, you (censored)!"
As a matter of fact, at 3 am last night I was doing exactly that in different words. Staring at the computer waiting for words to flow as if the only way to get them out was rip my skin open and bleed them onto the screen.

Frickin' writer's block. :ajsleepy:

1158770 I'm most creative when I'm supposed to be doing something else, or in other words, Writing is how I avoid Work (mowing the yard, trimming the trees, weeding the garden, etc...). Yet another reason why I'd never be able to do this for a living. In school, I actually had a teacher write on my report card "If you spent as much time doing the work as you do trying to avoid the work, you'd be done by now." Hm. This brings me to the horrible conclusion that I'm more like my OC Green Grass than I realized. I guess I'll just have to write an OC completely different than my real self: Handsome, smart, strong, energetic, successful, contented, sane....

1157607

As an English degree holder myself, I propose a slight readjustment:

A writer taking an English degree is like a transsexual getting on a bus that takes them in completely the opposite direction to the clinic and doesn't stop until it dumps them on the opposite side of the world in an alley full of dog shit in the city of Dogshit, west Dogshit country. And the bus ticket cost all their life savings. And there are no buses back, ever.

:pinkiecrazy:

1158770 When I code, my goal is to get a program that works, reliably, under the circumstances in which I wish to use it. There is a Right Answer. If I pass that threshold of Right Answer, the code is finished.

No, that is not at all how I think of programming. I've seen many programs that got the right answer that were terrible programs. But more to the point, complex programs don't have any right answer. Figuring out ways to estimate how correct their answers are is often more difficult than writing the program in first place. A program to play the stock market, or route air traffic, or predict protein function, will never be "right". Even an operating system, a database, or a computer game isn't "right" or "wrong".

The quality of the program's output depends on the quality of its architecture. A program that is well-designed can handle a wider variety of cases, give more-correct answers, run faster with fewer resources, and can be maintained and adapted more easily.

But really, you're all missing my point when you dwell on what programs do. My question is about the internal structure, and the skills that it takes to build such structures. It isn't particularly informative to this analogy to ask what each structure does when it's done. If we wanted to make that comparison fairly, you would have to say what stories are supposed to do. Lacking clear goals does not grant something mystical qualities or make it more of an art. Otherwise, I could simply write computer programs that don't have any particular goal, and they would be even better than programs with goals.

So we're in agreement, then?
Writing is like a transsexual hooker shouting at Venus while painting a mountain of Legos and eating Italian ice on a bus.

1157679 Any fault in a computer program can be directly traced back to the person who made it. The machine itself doesn't possess any responsibility or agency in the matter.

Yet another way in which writing is like computer programming.

1195062
Poor Lennon and McCartney.:fluttercry:
All those people they killed with The White Album.

Login or register to comment