Reputation is not a measure of subject matter knowledge. Knowing C++ or PHP or Java may be a requirement for getting a high reputation, but it's not enough. To earn a high reputation, you need:
- time in which you are active on the site, reading and writing. (Reputation is capped per day, and while you don't have to be active to earn rep on old questions, most people earn their reputation from a number of different questions and answers spread across their time on the site.)
- knowledge of what makes a good question and answer. Bad answers, especially, tend to be deleted by the community rather than edited, so to earn and keep a high rep you must know what makes a question or answer appropriate for the site.
- knowledge of the tools and exposure to other people's actions, as well as audits in the review queues
Rudeness is never tolerated. You can flag rude comments and they will be removed. That said, voting to close a question is not in and of itself rude. It is also completely reversible. Understanding the system will make you happier. When you know why some questions are closed, you will know what to do to get them re-opened, or realize they are not right for SO, rather than believing people are just being mean for no reason.