I am thinking of hosting a , but I am reluctant to download all the languages people answer in. Similar to Survival Game - Create Your Wolf, I want to restrict languages. In that challenge, the language intended to be used was , but ProgrammerDan created a wrapper for other languages. Rusher agreed to run those programs as well.

My problem with this solution is that it requires downloading the interpreter/compiler for every different language answered in. I'm reluctant to fill my computer with languages that I'll never use. There are several languages which I would accept because I already have interpreters/compilers for them:

  • Java (My best language; I'd write my tester in it. I have Netbeans)
  • C/C++ (I have Visual Studios Express 2013)
  • C# (Same IDE works)
  • Python 2 or 3
  • Befunge 98 (I have pyfunge)
  • possibly BATCH (since this is a Microsoft Computer, it can run .BAT files, but I haven't tested this on many programs)

I understand that many people use other languages too. On this site, we want to be language agnostic and encourage (maybe even require) this on most challenges. However, on a , the challenge host actually has to run all the programs, so this might be difficult if there are too many languages.

Judging by the votes on this comment, our users also want language-agnostic . Would it be unreasonable to require answers to be in specific languages? Alternatively, I would be fine if each answer provided an interpreter in one of the listed languages for programs that aren't supported.

Note: Interpreters/compilers are often big files and I don't know if they are hiding files elsewhere. If I just had to delete one file / folder, I would be more okay with downloading interpreters, but I'd still prefer that they were posted with the answer so I could control the location (keep the files with other "for fun" program files, for easy deletion when I feel like it) and easily delete them.

  • 6
    \$\begingroup\$ Use a virtual machine, and set snapshots before installing third-party programs. Then "uninstalling" is as simple as restoring that snapshot. It's a great way to contain untrustworthy programs. \$\endgroup\$ Commented Apr 14, 2014 at 6:06
  • 1
    \$\begingroup\$ Maybe you could use the internet as your platform and ask the competitors to connect to your server through TCP? \$\endgroup\$ Commented Apr 14, 2014 at 6:43
  • \$\begingroup\$ FWIW, if your version of Java is from the past 5 years then it includes a JavaScript interpreter. I've never used it, but I'm sure there's a tutorial on how to use it somewhere. \$\endgroup\$ Commented Apr 14, 2014 at 8:41
  • 1
    \$\begingroup\$ I think as long as your restrictions are reasonable(and explicitly listed), there's not much of a problem. Your "limit" above seems to be several popular languages, which would include most of the coding population at large. \$\endgroup\$
    – Geobits
    Commented Apr 14, 2014 at 15:39
  • 2
    \$\begingroup\$ From the very beginning I simply stated that the "official" run would only involve those entries that I could get running without too much headache. People were free to (1) offer entries in any language they wanted (2) vote on entries as they saw fit and (3) run non-"official" matches for the purposes of awarding bounties or any other purpose. Note that Rusher encountered quite a few difficulties because he ran the entrants in the same execution context as the controller. Java makes that easy, but personally I wouldn't do it. \$\endgroup\$ Commented Apr 14, 2014 at 15:46
  • 1
    \$\begingroup\$ @ChrisJester-Young Never thought of that (or used any (other than JVM :-) )). Any recommendations? \$\endgroup\$
    – Justin
    Commented Apr 14, 2014 at 22:43
  • 1
    \$\begingroup\$ @PeterTaylor Found it (Java 8): oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html . Earlier versions of Java used Rhino \$\endgroup\$
    – Justin
    Commented Apr 14, 2014 at 22:51
  • 1
    \$\begingroup\$ @Quincunx The most common desktop virtualisation products are VMware Workstation and VirtualBox (and on the Mac, you also have VMware Fusion and Parallels as options, in addition to VirtualBox). Personally I like VMware better (I've been a paying customer for 10 years), especially because it supports nonlinear snapshots (which I'm not sure if VirtualBox supports), but VirtualBox is free. So, decisions. :-) \$\endgroup\$ Commented Apr 14, 2014 at 23:55
  • \$\begingroup\$ What we need is a dedicated site for King of the Hill, something like codepad.org but for games. \$\endgroup\$ Commented Apr 16, 2014 at 21:13
  • \$\begingroup\$ @JanDvorak There is a game-of-life-based KotH in one of the sandboxes that wants to do this. I'm not particularly fond of this, because if you don't have a server to keep your submission running 24/7 it makes it near impossible to test your submission against anyone if the challenge doesn't take off such that there are at least a dozen entries or so (different time zones and such). And even if you happen to catch some other guy trying to run his bot at the same time, results will still be massively biased because only a very small subset of all player pairings will actually happen. \$\endgroup\$ Commented Apr 17, 2014 at 13:41
  • \$\begingroup\$ I'm sure some languages have in-browser interpreters. \$\endgroup\$ Commented Mar 15, 2015 at 14:35


You must log in to answer this question.

Browse other questions tagged .