Alternatively, you may say that programming is skewed towards people that find it easy to operate in a world of logic. We all know that programming can be like a puzzle and you sometimes have to keep a lot of conditions and dependencies in your head to solve the current problem.
Others may lack the formal language, but I don't see an inherent disadvantage in that. You can play music without knowing the notes.
It tells you this information right before you start the test: "This test consists of 35 problems that must be solved within a 25 minute time limit."
But I agree that it is unfortunate to base the future of a person on a one-time test. That includes the finals in school or a day full of exams after a long semester.
People are imprisoned when they are a danger to others or at risk of flight. Their time in prison is meant to reform them and help them back into society. The community is protected from further "mistakes" from a person, while allowing the person to learn not to make the same mistake again.