Sehnsucht's blog

By Sehnsucht, 8 years ago, translation, In English

Java Algorithms

Many people know the excellent library of Java algorithms by indy256https://github.com/indy256/codelibrary/tree/master/java/src. At the moment, there are 192 algorithms files (some files are variations of the same algorithm). It helps me a lot! For other languages I have not found such an extensive library.

I exported the library in the Android application. With it you can quickly look algorithms. You can also select one of 73 syntax highlighting styles, one of 9 fonts and application style — Default, White or Black. You can change the text size — use two fingers and a double-tap of the screen. There is also a custom SearchView, and descriptions of algorithms.

Google Play. Screenshots. More screenshots at Google Play.

The author of the library indy256 liked the application. I think that you will like it too :)

Full text and comments »

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

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

Full text and comments »

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