On 5/5/13 6:38 PM, Ivan Kazmenko wrote:
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).

Yes. So is your suggestion that I leave this sort of thing to already established sites that caters specifically to these sort of contests? I would actually love to do that but my experience is sites (shootouts etc...) tend to drop coverage of D on a whim.

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?).

Or is outdated and becomes useless to our community.

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.

ProjectEuler is very interesting but I haven't tried Rosalind so cannot comment there. The object of these sites however is not to teach programming (though programming is one method that can be used) but rather to uncover the solution to a given problem by whatever means necessary. I've seen solutions reached by simply loading data into Excel and performing some sorts and or inserting a couple of formulas. Not what I'm after.

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.

Now there is an idea I'm willing to support. This is the sort of contests I would actually like to promote on the site for professional programmers. But timed math/algo type contests are also necessary for those in academia to hone their skills. The hope is that college students will be able to demonstrate there D programming acumen in national/international contest sponsored by yours truly

-----

Ivan Kazmenko.

Andrew

Reply via email to