BC_Programmer and BC_Programming are generally the only two screen names I use, for better or for worse. There are a few circumstances where I have selected a "throwaway" name, or simply chosen a different name, for whatever reason.
The origins are pretty simple. "BC" is supposed to stand for "BASeCamp" which is the 'label' of sorts I've been attaching to my creations. This is because I always thought attaching my name- specifically- to a piece of software was a bit pretentious- and because I couldn't know how it would develop.
The name itself- BASeCamp- (and the capitalization) was simply a reasonable word association- the capitalized parts make it unique and give the top of the word a "mountainous" look, and BAS and C are the standard File Extensions of Visual Basic and C programs respectively, which I worked in for the most part at the time. Now I work primarily in C# but BASeC#amp is just too hard to pronounce. And also looks silly.
Insomuch as Soybean's notes about the use of Real Names, while I don't think it was quite as easy as it was when I first registered here, It is really quite trivial to find my Real name through about a million different methods; The most obvious being the footer on my website; the second being links to other media such as youtube (which I switched to using my Real name for) as well as things like my MVP Profile. This also makes it completely trivial to basically get all my contact information by design (address, phone number, etc).
There is something of a perspective in Soybean's post that essentially says that- if a person isn't going to make trouble, they have nothing to hide. This makes sense- in one sense, you can see it being harder to shirk responsibility for actions and posts if you attribute them to your real name than through a psuedonym. On the other hand, we aren't required or even encouraged to provide our full name to greeter staff at grocery stores either, and I don't think the simple fact that you have no 'physical presence' on an online forum really means there is a moral obligation to attach your real name to your posts.
I think it's very much like, say, grocery stores- If you turn into a regular patron, you may very well get to know the staff- in some cases perhaps even being on a first-name basis. It's a case of familiarity- that information is not what you give out, up-front, when you start your "relationship" with another person- when you first meet somebody they might start out in your mind as "that guy with glasses that sells cars" or "that short girl with the weird laugh". If you interact more, you eventually both receive more information about the person in question and give more information about yourself. In the case of an internet forum, you are basically creating that "nickname" and using it as the established psuedonym; if you get to know or trust the members of said forum, you might reveal more information in PMs, but the fact that- unlike verbal conversations- all the information posted publically is indexed and freely available to most of the public makes it a bit more of a case of moral responsibility, IMO. If somebody was to use their Real Name for something- as an example- or even just a single nickname- like myself, tied to my real name through easily verifiable methods- Then it can be quite easy to find information that most would probably prefer not to be shared.
In some respects with the greater affluence of information available on the internet, and it being a more prominent cornerstone through things like social media, in many respects it's almost as if more and more of our conversations are simply stored for posterity- what used to be an awkward conversation or an argument involving 2 or 3 people that would be forgotten quickly within a week or so becomes stored and available for search indexes to index and retrieve, and immediately involves, say, all the people that you have "friended" on facebook- because it shows up in their feeds.