I've written before about how being at the computer makes you look non-busy. Old people especially assume that if you're sitting there silently staring, you must be *desperate* for conversation. That you could be goofing off or concentrating hard on work makes this ambiguous to peers to.
I've also written about how it's impossible to communicate to clients what constitutes an emergency. Giving out my cell number to clients has never worked. I've been drunk dialed by chatty clients. Not being able to get to ESPN.com is an emergency related to the shopping cart somehow. If you yell at them, then they don't call you when orders get wedged or the site goes down. The amount of emphasis required to convince a client to only call you in case of an emergency exceeds the amount of emphasis needed to make them never call you. Same thing goes for the people sitting next to you. Add in that coding sessions can easily be 16 hours long and you're making completely unreasonable demands of people, socially speaking.
If you're going to write code in a non-trivial sense, you have to jealously guard your concentration.
That's nerd-non-nerd communication. Nerd conversation is something else entirely.
I had a hissy fit on Twitter recently when I realized -- or rather, when it was pointed out to me -- that an RT (request tracker) was automatically, silently created for my various modules and people had been filing reports in them for *years* without any notification being sent to me. I, Marc Lehmann, and apparently no one else thinks this is a huge problem. I stewed for a while pondering how anyone else could possibily think that this design is okay, until I realized that it fits this model: opt-in communication. The fact that bug reports get bit bucketed until the programmer goes looking for them is exactly what programmers want.
Let me tell you a story of Life in Programmerville. The highway department schedules road construction a month in advance using shared calendaring. If not everyone is able to make time for the road construction event, they'll postpone and attempt to reschedule for next month. Your large house with a second story (with an attic) has a basement. The doorbell has auto-away and won't ring unless you've been seen unidle in the past 10 minutes checking your doorball status. If someone presses the doorbell while you're (auto-)away, it'll log that someone pushed the doorbell and when you next go to check your doorbell status, you'll see that someone came and went and probably take a digital photo of them because that seems like a spiffy feature. Houses all have fiber so that there's no phone number that telemarketers can call that causes ssh sessions over DSL to timeout (and god knows you don't have a phone connected to the land-line anyway). The cell is set to silent before bed so no one wakes you up too early and then set to ring again before you go out for dinner in the evening so friends can tell you if they're going to be late. During the day, when the inclination strikes, you check Twitter, Facebook, LiveJournal, use.perl.org, perlbuzz, CPAN's new module feeds, SMS messages, email, RSS feeds, github, work email, various bug trackers including RT for your Perl modules, your httpd_access logs, dmesg, top, reddit, digg, and Slashdot. If one unexpected pop-up appears on your screen, you flip the hell out and don't stop modifying things until you've discovered five more holes and plugged those too.
Programmers have a lot of sympathy for other programmers but sometimes this model makes it very difficult to reach another programmer. It might take hoping between different communications mediums for a while before you catch them where they're polling, and the polling cycle might be very slow indeed. Too old of events get discarded either through having been pushed past the point where they're seen or else recognized as probably expired and intentionally ignored. Sometimes you have to try to get a message to a programmer weeks or months later. Though they follow vast numbers of channels -- or more likely because they follow vast numbers of channels -- each message is treated as far less significant.
Broadcast-subscriber-poll mechanisms are especially popular -- Foursquare, Twitter, commit logs, IRC, etc.
I critically failed to generate chatter on git... specifically, the email gateway for commit messages. I accidentally opted out of a very important communication mechanism, for lack of being able to see other people's communications due to a snafu. Everyone probably took it as intentional concentration defense tactics that they didn't like but were extremely disinclined to mention to my face out of this sort of programmer sympathy concentration.
A recent commenter (hello!) spoke of Asperger's and perceived arrogance. I don't have good data to speak from, but I have to wonder if years and years of trying to jealously guard concentration and tending to prefer quiet over spurious interrupts would create this social veil. Practicing ignoring verbal communication can't be good for learning non-verbal communication. And isn't arrogance essentially being more interested in what's going on in your own head than what other people have to say? Isn't everyone interested in their own thoughts essentially arrogant?