I think when someone posts in a language which is hard to set up, or test, then I think it is appropriate to downvote the answer if it doesn't describe (or link to a page with) a proper introduction on how to set up the environment. If, according to manual calculations the answer is also wrong, I think it would be appropriate to also flag the answer as "Not an answer".
The hard part is to define what counts as "hard". I would define hard as anything that's not "easy". And "easy" means:
Operating System
It runs on at least one of the main, still supported, intel based operating systems:
- Windows 8, 8.1, 10
- Mac OSX 10.8+
- A recent, supported linux variant, like Ubuntu Linux 14.04 LTS
Here I both say supported and intel based, which means old OS's (including Windows XP), and ARM based operating systems (Android, iOS, etc.) are considered hard.
The "at least one" criteria means, that if it only runs on one of them (like PowerShell), then it is still fine. Hopefully there are enough members in the community that can test them, or if not, then you might still be able to install a VM and test it there (yes, I know, that this might not be viable for OSX though).
Installation
It can be installed via a common package manager on the supported operating systems, or it comes installed by default. The installer can be downloaded from the internet, and it can be installed freely.
So for example on Windows you can easily donwload an MSI, and install it. On Debian based linuxes you can use apt-get
. On OSX it is available as either a pkg
or through homebrew
, etc.
Examples
Here are some examples:
- Java 1.6+ Installable MSI on Windows
- Ruby 1.8.7: Default on OSX 10.8
- Javascript: A browser usually comes installed by default on all operating systems (note that the rules disallow JS code that only work for example on IE6, or other outdated browsers)
Hard languages
So what to do in case of hard languages? I would say that each of the mainly used hard languages should have a separate meta page, where there would be enough information either to the poster, or to the tester on how to run the code.
For GTB for example it would mean a step-by-step description on how to set up a TI-84 emulator, how to enter the code, etc.
For Mathematica it would describe how to create CDF files that can be shared to the users.
All solutions that use hard languages has to have a link to the appropriate meta page!