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 http://english.stackexchange.com/