It is discrimination. The question is if that discrimination is a bad thing or not.
For instance: you are discriminating against people who don't know javascript if you are hiring for a job that requires javascript and don't hire people who don't know it.
You are discriminating ... if you are hiring for a job
that requires javascript and don't hire people
who don't know it. Is that a bad thing? I dont' think so.
You might be overlooking good coworkers or employees, especially older ones who have experience in other languages. I knew zero Python or Javascript before I started this job, and now write in it 100% of the time. (My previous job was Lisp + GWT.)
Similarly, I recall an article from Matasano that said that some of their best candiates did not have prior experience with something that one might have expected to be a prerequisite: "Some of the best testers we've worked with didn't have a formal security background." [0].
If you only hire people who "know" $Language, what will you do if six months down the line you decide to rewrite in Clojure, or find that Haskell is the best way to move forward?
>The question is if that discrimination is a bad thing or not.
In colloquial American usage, "discrimination" in the context of hiring and employment refers exclusively to judging people by illegal or inappropriate factors.
>you are discriminating against people who don't know javascript if you are hiring for a job that requires javascript and don't hire people who don't know it.
This may be an appropriate statement for other English-speaking countries, but in the US, this is a statement that borders on sophistry.
For instance: you are discriminating against people who don't know javascript if you are hiring for a job that requires javascript and don't hire people who don't know it.
Is that a bad thing? I dont' think so.
There are some things that we as a society have determined that it is not okay to discriminate based on. Here is a list of them: http://en.wikipedia.org/wiki/Protected_class