dtutor.org: a call to action
Ivan Kazmenko
gassa at mail.ru
Sun May 5 15:38:57 PDT 2013
> 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.
More information about the Digitalmars-d
mailing list