This is one of the more open and accepting fields of work I can think of.
We have regular meetups where an absolute newbie can meet a very public figure in the community and have a conversation.
We have tutorials all over the internet for anyone. Guides, helpful libraries, etc.
Regardless of age, gender, religion or financial status, programmers welcome you to the community with open arms.
The problem is programmers happen to care a lot about what they do, and that manifests itself in taking a very passionate stance on what seems like trivialities to a passerby.
Take for instance spaces versus tabs for indentation. Pretty inconsequential, right? Visually it looks the same so what's the big deal?
A more experienced programmer can tell you exactly why spaces are better from personal experience. Usually coupled with much emotion too.
It just looks unfriendly / grumpy when she's arguing the merits of spaces over tabs, but I can promise you that it's not her intent to discourage people from programming.
The end goal is always more (and better) programmers. We just have a silly way of unconsciously sabotaging that effort.