7

So, I am getting some years under my belt in long term programming. I have noticed, however, when the frequency and duration started increasing in my coding sessions that when I actually went to write a paper, email, document, or anything else that required writing more than a few sentences that my writing quallity appeared to suffer. I started forgetting the basic rules and vocabulary of written English.

I am now going back for my Masters and find that writing papers does not come as easy as it used to. I remember thinking to myself how my Creative Writing class back in my freshman year of college helped a great deal in writing for my other classes. Hate to say it, but it feels like I could use a refresher. Also, my hand writing has especially not got any better! I feel inclined to say it's a side-effect of long term programming but want know any if real studies have been done or just from personal experience from programmers.

6
  • 20
    It's a side-effect of long-term not writing. Would you blame playing the tuba 10hrs a day as well?
    – JeffO
    Jan 13, 2012 at 22:25
  • 7
    Side-effects? Not if your language is Haskell... Jan 14, 2012 at 3:07
  • Perhaps, but the way you drafted your question does nothing to prove your anxieties. It's fine, as it is. Now that you wrote one thing, do more, so as not to lose touch again. Language, as with handwriting, once learnt well will stay dormant and you don't really unlearn by lack of practice. Clear the rust and put back in regular use. Importantly, don't let anxieties get you.
    – Kris
    Jan 14, 2012 at 7:00
  • 4
    Am I the only one who frequently ends their sentences with a semicolon now? Feb 14, 2012 at 2:23
  • 1
    i := Do().Not.Know(What().You.Are(Talking.About)); // Clearly doesn't affect me. :-P
    – S.Robins
    Feb 14, 2012 at 4:36

6 Answers 6

20

I don't know of any formal studies of the effects of programming language usage on native language competency, but I can share anecdotal evidence and pet theories.

First off, even speaking more than one natural language has interesting side effects. If, for instance, I were to travel to France, speak only French for several years, and return to the United States, I would likely find myself thinking in French and having to correct my English occasionally.This has actually happened to me following vacations in Quebec.

Programming languages don't correlate well to natural languages, due to the fact that they are designed to perform a task and/or to represent specific types of data and relationships between/operations on said data. Natural languages evolve organically and deal with much fuzzier concepts than programming languages, generally speaking.

As far as things like punctuation, there are quirks programmers tend to develop, e.g. putting punctuation like periods and commas outside of punctuation marks. Why do we do this? Flow control (periods, commas) shouldn't be embedded in a string literal.

I think if programming impacts natural language use, it's because programming changes how you think. We tend to want to be more precise than natural languages generally allow for. We get frustrated by ambiguity because it causes compiler warnings in our brains.

I wouldn't say it's a good thing or a bad thing necessarily; but there's a reason certain stereotypes about programmers exist, such as:

  • We are terrible at writing documentation
  • We are bad a communicating with non-technical people
  • We tend toward tunnel-vision and don't like context-switching

Of course, these are stereotypes and not universal truths, but stereotypes start somewhere. My explanation for these boils down to "it's not a bug, it's a feature!"

Taken one at a time:

  • We don't write good documentation because: 1) it takes time away from writing code, 2) our code should be 'self-documenting', and 3) that's a job for a technical writer, not a programmer.
  • We don't communicate well with non-technical people because we are good at what we do and thus don't think like non-technical people any more.
  • We tend toward tunnel-vision because closures and lexical scoping are very good things, and context-switching is expensive.

So, I'm not sure if this is helpful, but it's something I've considered myself in the past. As far as a solution to your problem? Don't hold your English to the same standard as your code. It's not like you can write unit tests for your term papers. Do your best, use spelling and grammar checkers, find a peer to proofread before you submit, and if you get stuck, there's always https://english.stackexchange.com/

3
  • 2
    Writing unit tests for term papers!! Maybe if we break the paper down into paragraphs and isolate them? :) Love the analogy!
    – Guven
    Jan 13, 2012 at 23:54
  • 3
    @Guven I think first we'd have to come up with BNF for English, a type system for parts of speech, and a Turing-complete word processor. Then maybe you could have unit tests. Integration testing would probably require a strong AI scenario, once you have to parse arguments in a paragraph for logical consistency and raise exceptions on informal fallacies. Jan 14, 2012 at 0:12
  • I love where you guys are goin this. Jan 17, 2012 at 14:44
6

Isn't it the same as asking "does long term programming affect your ability to do Calculus" or "does long term Calculus affect writing in a native spoken language".

We get good at things the more we practice those things. And conversely, if we stop doing something, over time our skills worsen at doing that task. You probably used to write a lot more papers than you do now, and therefore, in the past you used to be better at it.

I have forgotten 98% of Calculus but I don't think I would put the blame on being a programmer for the last 13 years.

4

I find that programming has had an overall positive effect on my writing, even though while studying in the USA I took a 9 year break from writing in my native language. I have developed the patience to edit and re-edit my writings, (when I have the time to do so,) until they come out perfect. Just like I tend to refactor my code until it comes out perfect. ;-)

3

This question made me laugh, because as soon as I saw it, I thought of myself. I have developed (as in written code) several times weekly for about three years now.

My world generally consists of diagrams, code structures, project plans, and sentence-long emails. Hopefully, studies will be done on this subject, but I can definitely say that my writing has suffered, especially since my college days. I now experience hand cramps within 15 minutes of starting a hand-written document, but can endure hours on a keyboard. I make a lot of spelling mistakes, make some poor (and childish) word choices, and generally struggle to churn out a few paragraphs.

As developers, we just don't need to actually write things down when we can do it a hundred times faster on a computer, and in addition, use such a limited vocabulary. Getting into the habit of forcing handwritten notes and keeping up the practice will ensure that we don't turn into keyboard monkeys.

2

I agree with DXM. The fact that your writing ability has declined is not a side effect of programming. It is a side effect of not writing. You probably had to write a lot in college, so you got good at it. Now that you have been out of college for several years, you are not writing as well as you used to. This is just like anything else, no big whoop.

0

My guess: it's not a side-effect of long-term programming in particular,
but a byproduct of a long period of not writing anything in natural language.

If you where good at creative writing, you should keep practicing that art.

  • Writing essays in other fields helps.
    The skill you train while doing that is still natural language writing.

  • Writing programs doesn't.
    Formal languages use a whole different set of synapses in your brain.
    The natural-language ones, unfortunately, go stale.

Not the answer you're looking for? Browse other questions tagged or ask your own question.