When searching other posts on this topic, I skipped over reading that post because of the “bug” labeling, which seems misleading to me now that I’ve read the thread. I wonder if the unwillingness to tackle the problem is due to a failure of imagination to realize a simple solution. The OP states I really dislike the system() call posibility, to which CvxFous replied:
If this has been their line of thought on the topic, it’s no wonder they’ve brushed it off. Tackling the problem by performing language-specific parsing and intervening at the language-specific library level I imagine would be quite the kludge that would take considerable effort to pull off reasonably well. However, using a wrapper program to blacklist the execve system call (this is at the kernel level, not the library/language level) should be straight-forward and simple to implement, and should cover all the languages. Though, again, maybe there’s one or more interpreters or runtime environments that would break under this condition? If someone knows, that would be valuable input to this discussion.
My concern was about not penalizing players who already submitted solutions. I don’t fault players for submitting solutions to fit the system as it was designed; I fault the design of the system. Adding a second leaderboard would benefit those who want to compare their ‘pure’ solutions to other ‘pure’ solutions, without penalizing those who don’t see this ‘problem’ as problem at all.