10
\$\begingroup\$

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.

\$\endgroup\$
  • 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\$ – Chris Jester-Young Apr 14 '14 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\$ – John Dvorak Apr 14 '14 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\$ – Peter Taylor Apr 14 '14 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 Apr 14 '14 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\$ – dmckee Apr 14 '14 at 15:46
  • 1
    \$\begingroup\$ @ChrisJester-Young Never thought of that (or used any (other than JVM :-) )). Any recommendations? \$\endgroup\$ – Justin Apr 14 '14 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 Apr 14 '14 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\$ – Chris Jester-Young Apr 14 '14 at 23:55
  • \$\begingroup\$ What we need is a dedicated site for King of the Hill, something like codepad.org but for games. \$\endgroup\$ – PyRulez Apr 16 '14 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\$ – Martin Ender Apr 17 '14 at 13:41
  • \$\begingroup\$ I'm sure some languages have in-browser interpreters. \$\endgroup\$ – BobTheAwesome Mar 15 '15 at 14:35

You must log in to answer this question.

Browse other questions tagged .