Sehnsucht's blog

By Sehnsucht, 9 years ago, translation, In English

I created statistics of the languages used in solutions on Codeforces. The statistics is available by years from 2010 to 2015, and about programming languages.

Codeforces API

For parsing I used Java and library org.json for convenient storage of JSON file. All text from inquiry contest.status is read, then from there each Submission is processed separately

What exactly is considered

Submissions ONLY from competitions were considered (participantType = CONTESTANT and OUT_OF_COMPETITION), and ONLY those who passed all tests (verdict = OK). Participants could use the unpopular programming languages in problemset, or failed to do ten submissions, and it does not reflect the actual popularity of language in the contests.

Merge of languages

Last contest at the time of writing the blog — Codeforces Round 321 (Div. 2) is the most popular for the whole 2015. Its initial statistics in text form is presented here — http://ideone.com/X4GYBi. The first three places in popularity is the GNU C++, GNU C++11, MS C++. Despite the fact that the compilers and language versions differ, actually used the same language. Therefore I united various specifications of the same languages in one language. Some of them no longer exist on Codeforces, such as GNU C++0x or Java 6.
Results of Surprise Language Rounds aren't considered. Finally, through these languages it would be impossible to solve a "normal" problem :)
Free online services for creation of charts were used
All charts are made in two types — with C ++ and without it.

Statistics by year

2015 year (contests 501 — 580)

Text form.

2014 year (contests 380 — 500)

Text form.

2013 year (contests 261 — 379)

Text form.

2012 year (contests 140 — 260)

Text form.

2011 year (contests 52 — 139)

Text form.

2010 year (contests 1 — 51)

Text form.

Languages from Surprise Language Rounds for all time of work of Codeforces is Picat, Ada, FALSE, Mysterious Language (really Fortran), Roco, Factor, Secret_171 (really COBOL), Befunge, Pike, Tcl, Io.

Statistics on languages

General chart of popularity of languages

Summary

Many languages are too unpopular in industrial programming to find fans who won't exchange them on more convenient for sports programming — their percentage equals one 10-th or even one 100-th percent from all quantity of submissions. Also, in my opinion, many languages so inconvenient for sports programming that it doesn't make to solve contests on Codeforces in them any sense.
For 5-6 years there have been changes in the popularity of languages. C++ increases a percentage of users. Delphi lost in popularity by 20(!) times. The percentage of FPC and C# fell in 4 and in 3 times respectively.

Parser source code

  • Vote: I like it
  • +184
  • Vote: I do not like it

| Write comment?
»
9 years ago, # |
  Vote: I like it +4 Vote: I do not like it

while(1)
{
(c++)++;
}

»
9 years ago, # |
  Vote: I like it +13 Vote: I do not like it

An appreciated effort

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Anyone know the reason for the rise of C++? I would have imagined, people would prefer Python slowly since many colleges/high-schools are starting their courses with Python/Java nowadays.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Perhaps this is because of the powerful libraries and containers of C++ saves a lot of time in coding (I am not an expert in Python so if Python 3 library is that powerful compare to C++ I take it back). Moreover since C++ has a big head start of Python there are a bunch of online tutorials and implementation code that are written in C++. Not to mention that in some places C/C++ still considers as the fundamental language.