I was curious as to what proportion of each language achieved a perfect score. A quick script [1] sorted by Percent which reached perfect score and then by qualified resulted in the below - mean of advanced/lang is: ~90%, most (26) langs either achieved 100% entry or around 80% (14) ).<p><pre><code> [|("PostScript", (1, [|1.0; 1.0; 1.0|]));
("Brainfuck", (2, [|1.0; 1.0; 1.0|]));
("Golfscript", (2, [|1.0; 1.0; 1.0|]));
("COBOL", (1, [|1.0; 1.0; 1.0|]));
("Octave", (3, [|1.0; 1.0; 0.6666666667|]));
("Shell", (5, [|1.0; 1.0; 0.6|]));
("dc", (2, [|1.0; 1.0; 0.5|]));
("sed", (2, [|1.0; 1.0; 0.5|]));
("R", (2, [|1.0; 1.0; 0.5|]));
("OCaml", (21, [|1.0; 1.0; 0.380952381|]));
("F#", (17, [|1.0; 0.8235294118; 0.3529411765|]));
("D", (6, [|1.0; 0.5; 0.3333333333|]));
("Prolog", (3, [|1.0; 1.0; 0.3333333333|]));
("J", (3, [|1.0; 0.6666666667; 0.3333333333|]));
("Clojure", (17, [|1.0; 0.9411764706; 0.2941176471|]));
("Haskell", (118, [|1.0; 0.906779661; 0.2457627119|]));
("C++", (5700, [|1.0; 0.9080701754; 0.2022807018|]));
("ActionScript", (5, [|1.0; 0.8; 0.2|]));
("Lua", (12, [|1.0; 0.75; 0.1666666667|]));
("Pascal", (111, [|1.0; 0.8738738739; 0.1621621622|]));
("Python", (1658, [|1.0; 0.8805790109; 0.1447527141|]));
("Ruby", (259, [|1.0; 0.8918918919; 0.1351351351|]));
("Lisp", (26, [|1.0; 0.8076923077; 0.1153846154|]));
("C", (671, [|1.0; 0.8032786885; 0.1117734724|]));
("Java", (2652, [|1.0; 0.8465309201; 0.1052036199|]));
("C#", (710, [|1.0; 0.8309859155; 0.0985915493|]));
("Perl", (155, [|1.0; 0.8258064516; 0.09677419355|]));
("MATLAB", (11, [|1.0; 0.8181818182; 0.09090909091|]));
("Scala", (35, [|1.0; 0.8; 0.08571428571|]));
("Groovy", (13, [|1.0; 1.0; 0.07692307692|]));
("Javascript", (30, [|1.0; 0.6666666667; 0.06666666667|]));
("GO", (16, [|1.0; 0.8125; 0.0625|]));
("PHP", (166, [|1.0; 0.765060241; 0.05421686747|]));
("Visual Basic", (32, [|1.0; 0.78125; 0.03125|]));
("Assembly", (1, [|1.0; 1.0|]));
("AWK", (3, [|1.0; 1.0|]));
("WRAPL", (1, [|1.0; 1.0|]));
("Standard ML", (2, [|1.0; 1.0|]));
("Objective-C", (6, [|1.0; 1.0|]));
("TCL", (3, [|1.0; 1.0|]));
("Mercury", (1, [|1.0; 1.0|]));
("Befunge", (1, [|1.0; 1.0|]));
("Fortran", (2, [|1.0; 1.0|]));
("Factor", (2, [|1.0; 1.0|]));
("CMake", (1, [|1.0; 1.0|]));
("LOLCODE", (1, [|1.0; 1.0|]));
("LOGO", (1, [|1.0; 1.0|]));
("Boo", (1, [|1.0; 1.0|]));
("Erlang", (5, [|1.0; 0.8|]));
("Scheme", (7, [|1.0; 0.5714285714|]))|]
</code></pre>
[1]<p><pre><code> str |> Array.map (fun s -> let spl = s.Split('\t')
(spl.[0] , let scspl = spl.[spl.Length - 1].Split('/') in
scspl.[0], scspl |> Array.map (fun sc -> float sc / float scspl.[0] )))
|> Array.sortBy(fun (_,(_,sc)) -> if sc.Length = 3 then -sc.[2] else 1./sc.[1])</code></pre>