Languages used by top UVA users.

General topic about Valladolid Online Judge

Moderator: Board moderators

Post Reply
avm
New poster
Posts: 33
Joined: Sat Aug 20, 2005 9:59 pm
Location: St. Petersburg

Languages used by top UVA users.

Post by avm »

Since, there a lot requests for upgrading/installing particular language on Valladolid Online Judge
For example:
Java 1.5
Python
C#
I build some language usage statistics for 3 Top UVA users.
Maybe someone find this post interesting.

Anton Maydell, Joachim Wulff and Adrian Kuegel Sphere Online Judge accepted submissions by languages statistics:

Code: Select all

Submissions by [avm] in contest [SPOJ].  DoI: 2007-01-02 11:26:33.
   Language                            AC    perc
 1.C++ (g++ 4.0.0-8)                   85   36.80%
 2.Java (j2se jdk 1.5.0)               77   33.33%
 3.C (gcc 4.0.0-8)                     25   10.82%
 4.Python (python 2.4)                 12    5.19%
 5.Ocaml (ocaml 3.08.1)                10    4.33%
 6.Brainf**k (bf2c)                     6    2.60%
 7.Lua (lua 5.0.2)                      5    2.16%
   Perl (perl 5.8.3)                    5    2.16%
 9.Pascal (fpc 2.0.2)                   4    1.73%
10.Text (pure text)                     2    0.87%

   languages unsupported by UVA       117   50.65%
   total                              231  100.00%

Submissions by [joachim] in contest [SPOJ].  DoI: 2007-01-02 11:26:25.
   Language                            AC    perc
 1.C (gcc 4.0.0-8)                     99   91.67%
 2.Pascal (fpc 2.0.2)                   6    5.56%
 3.Text (pure text)                     2    1.85%
 4.Brainf**k (bf2c)                     1    0.93%

   languages unsupported by UVA         3    2.78%
   total                              108  100.00%

Submissions by [ak15] in contest [SPOJ].  DoI: 2007-01-02 11:26:24.
   Language                            AC    perc
 1.C++ (g++ 4.0.0-8)                  210   61.40%
 2.C (gcc 4.0.0-8)                     98   28.65%
 3.Java (j2se jdk 1.5.0)               12    3.51%
 4.Brainf**k (bf2c)                     7    2.05%
 5.Text (pure text)                     5    1.46%
 6.Prolog (swipl 5.2.7)                 4    1.17%
 7.Python (python 2.4)                  2    0.58%
   Perl (perl 5.8.3)                    2    0.58%
 9.Pascal (fpc 2.0.2)                   1    0.29%
   Haskell (ghc 6.4.1)                  1    0.29%

   languages unsupported by UVA        33    9.65%
   total                              342  100.00%

Code: Select all

# Perl script for generating language usage statistics
# for a giver user on Sphere Online Judge
# Input file  : input.txt 
# Output file : output.txt
# This script tested on
# 1) http://www.spoj.pl/status/avm/signedlist/
# 2) http://www.spoj.pl/status/joachim/signedlist/
# 3) http://www.spoj.pl/status/ak15/signedlist/
# written by avm (open source)

open F,"input.txt";
open G,">output.txt";
%lang_names = (
"TEX","Text (pure text)",
"CAM","Ocaml (ocaml 3.08.1)",
"JAV","Java (j2se jdk 1.5.0)",
"LUA","Lua (lua 5.0.2)",
"C","C (gcc 4.0.0-8)",
"PAS","Pascal (fpc 2.0.2)",
"PER","Perl (perl 5.8.3)",
"BF","Brainf**k (bf2c)",
"C++","C++ (g++ 4.0.0-8)",
"PYT","Python (python 2.4)",
"PRL","Prolog (swipl 5.2.7)",
"HAS","Haskell (ghc 6.4.1)"
);
sub print_lang
{
my ($lang,$x);
$lang = shift @_;
$x = shift (@_);
printf G "%-30s%8.0f%8.2f",$lang,$x,(100.0 * $x) / $total;
print G "%\n";
}
%prob_lang_set = ();
%lang_ac = ();
$unsupported_uva = $total = 0;
foreach(<F>)
  {
  if (/^Submissions by/)
    {
    print G;
    next;
    }
  chomp;
  @a=split(/[| ]+/);
  if ($#a == 8)
    { 
    if ($a[5] eq "AC" || not($a[5] =~ /[A-Z]+/))
      {
      $s = $a[4] . "@" . $a[8];
      unless(exists($prob_lang_set{$s}))
        {
        $prob_lang_set{$s} = 1;
        $lang_ac{$a[8]} += 1;
        $total += 1;
        unless(($a[8] eq "PAS") ||
               ($a[8] eq "C")   ||
               ($a[8] eq "C++") ||
               ($a[8] eq "C99"))
          {
          #Java 1.5 doesn't supported on UVA so I didn't count JAVA submissions
          $unsupported_uva += 1;
          }
        }
      }
    }
  }
$last = -1;
$k = 0;
printf G "   %-30s%8s%8s\n","Language","AC","perc";
foreach(sort {$lang_ac{$b}<=>$lang_ac{$a}}  keys %lang_ac)
  {
  $k += 1;
  if ($last != $lang_ac{$_})
    {
    printf G "%2d.",$k;
    $last = $lang_ac{$_};
    }
  else
    {
    print G "   ";
    }
  $lang = $_;
  $lang = $lang_names{$_} if (exists($lang_names{$_}));
  print_lang($lang,$last);
  }
print G "\n";
print G "   ";
print_lang("languages unsupported by UVA",$unsupported_uva);
print G "   ";
print_lang("total",$total);
close F;
close G;
miras
Learning poster
Posts: 98
Joined: Sat Jun 14, 2003 1:45 pm

Post by miras »

hm... as far as I am concerned the only allowed languages should be those allowed in ACM World Finals + Pascal... ;-)

Regards
Remember Never Give Up
Regrads
Miras
MAK
New poster
Posts: 28
Joined: Sun Oct 23, 2005 3:44 pm
Location: Dhaka, Bangladesh

Post by MAK »

hm... as far as I am concerned the only allowed languages should be those allowed in ACM World Finals + Pascal...

Regards
That's what I used to think before I learnt C#, Python and LISP. I don't think there is any reason to keep such a limited set of allowed languages. Probably more people use Python, Java or C# nowadays than Pascal. Some problems are simply crying to be solved in Python/Java. Furthermore, I'm sure there are a lot of people out there who program only in Python/Java/C#, and cannot use this online judge. Have a look at TopCoder and see how many of the submissions are in Java. This OJ is ok for those of us who can program in C/C++, but we should not keep others out just because they use the 'wrong' language.
Post Reply

Return to “General”