I. Features to be supported

Problems - Staged ICPC problems for users to attempt. Solutions may
be submitted online for comparison against previously submitted
solutions to determine efficiency ranking and users may choose to create
and account to keep track of progress.

Online Judge - to be used to determine accuracy and efficiency of submitted solutions to problems and planned programming contests.

You mean algorithmic contests like ACM ICPC, right? There are a few online judges supporting the D programming language which already have all other necessary infrastructure (problem archive, online judge and server itself, etc).

First, there's Codeforces (http://codeforces.com). There are already hundreds of algorithmic problems in the problem archive which can be solved individually or by participating in "virtual" past contests. New contests (5 problems, 2 hour duration) are held, like, weekly. The online judge supports a number of programming languages. They recently upgraded the D compiler to the current DMD 2.062 (Windows version).

Then there's Sphere Online Judge (http://spoj.pl). They support 48 programming languages, their D version is listed as GDC 4.1.3 which as I understand is pretty old (D1?).

And then there is a number of mathematical and/or algorithmic online contest sites where one runs the code locally on given inputs and submits only the result. Examples of these are Project Euler (http://projecteuler.net) and Rosalind (http://rosalind.info). After you successfully solve a problem, you usually get access to a forum where people post and discuss their approaches in different programming languages, trying to show the strengths of their tools.

An online judge dedicated to D seems like a fun idea at first. Still, things usually go the other way around. Much effort is put into getting an online judge up and running. It is far from trivial to constantly add good algorithmic problems. But once you have these two, adding support for a programming language is a matter of hours.

Regarding programming contests, there's another flavor of them: instead of solving small math/algo problems in a limited time frame, the competitors can design or develop a small-ish software component and submit them for a formal review. The judging criteria should however be precise enough (i.e. carefully prepared by someone having a clear general picture). This could even turn into a successful business model, the presentation at http://bsr.london.edu/files/1357/who-needs-employees.pdf‎ seems to describe it in more detail. It may happen that a similar model could be adopted to some parts of D development, provided that some of the current developers will like the idea and be really willing to try it.

-----

Ivan Kazmenko.

Reply via email to