12
\$\begingroup\$

So, is unique in that some people cannot test all of the submissions given, as they need to have all of the environments installed that users submit.

We should make a place to become an "official" tester for KOTH challenges. To be a tester, one should be able to run a certain list of "major" languages (which can be decided now). The tester will post an answer to the "Sign up here to become an official tester!" question. If the user cannot run some of these languages, he or she or it1 should note that in the answer. The user should also note any extra languages that are able to be tested.

I will post two answers to this post. One will be a list of major languages that every tester should have, and one will be a draft as to what the official post will look like. Please suggest things I should change in the comments, and once we have come to a consensus, the post will be posted!

Also, I really think these testers, the unsung heroes of KOTH, should get some compensation for their work. Any ideas?

1: No discrimination against inanimate objects, please ;)

\$\endgroup\$
  • 2
    \$\begingroup\$ I've installed the language for, and tested, every submission for both of my KotH questions. I'm not sure what the difficulty is? No-one said that running a competition (which is what asking a KotH question is) would be easy. \$\endgroup\$ – Gareth Apr 17 '14 at 7:39
  • 1
    \$\begingroup\$ This recent discussion (in the comments, natch) is obviously relevant: meta.codegolf.stackexchange.com/questions/1437/… \$\endgroup\$ – dmckee Apr 17 '14 at 13:02
  • 1
    \$\begingroup\$ Perhaps we should have an official list of interpreters/compilers to be used for this as well? These should be available on Windows, Linux and Mac OSX, and should ideally be open-source (because we like open source). \$\endgroup\$ – user16402 Apr 18 '14 at 13:06
7
\$\begingroup\$

Alternative idea - VMs

How about we create a virtual machine image with all of the required(as decided by this post) interpreters/compilers installed so that testers can directly have all the required environments without hunting for them separately. It would also remove the uncertainty of running non-reviewed code.

\$\endgroup\$
  • 1
    \$\begingroup\$ This is a very useful idea, but "with all of the required interpreters/compilers installed" implies that we know what those are, and it also implies either preparing several such images or forcing some participants to use a OS they are not familiar with to take advantage of this deal. \$\endgroup\$ – dmckee Apr 21 '14 at 15:13
  • \$\begingroup\$ @dmckee "forcing some participants to use a OS they are not familiar with" - I think almost all of the usage will be on the command line so the unfamiliarity seems quite small to me. Also, we might have to create several images to support different virtualization software anyways.(virtualbox/vmware,etc) \$\endgroup\$ – user80551 Apr 22 '14 at 13:22
  • \$\begingroup\$ I really like this idea, and one image in VHD format should be sufficient. It's supported by VirtualBox, VMWare, Virtual PC, Hyper-V, QEMU, Bochs, and Xen. Parallels doesn't natively support it, but it has a built in VHD converter. \$\endgroup\$ – Comintern Aug 10 '14 at 1:46
2
\$\begingroup\$

Most Popular Languages

I thought of a way to determine what a "Major" language is without too much "Language X should obviously be included because of blah blah blah" or "Language Y is obviously more popular than language X because I know so (and I'm a wizard)."

The results are current as of April 17, 2014.

In the Job Market

I did some research on Monster for most popular languages in the job market. I performed keyword searches for different languages, and recorded the number of matches. The search was limited to Texas only, to keep results from maxing out at 1000+.

Results

Units are "number of matches".

  • Java - 1000+
  • JavaScript - 928
  • C#- 662
  • C++ - 440
  • C - *400
  • Python - 318
  • Perl - 238
  • Ruby - 186
  • CoffeeScript - 12
  • Golfscript - 0

*C (the programming language) is difficult to search for because it is also a letter. I am confident that there are at least 400 C language related jobs in Texas.

In the Community

Perhaps more relevant are the languages that are talked about the most on the Internet. We are, after all, an Internet community. I searched for the following terms on Google and recorded the results. The exact format used for the search double-quote language double-quote programming (i.e., "C" programming, "Java" programming, etc.). This helped to avoid potential overlap with other uses of search term.

Results

Units are "number of results (in millions)".

  • C - *467
  • JavaScript - 74.6
  • Java - 47
  • C# - 40.9
  • Perl - 29.2
  • Python - 23.6
  • C++ - 20.5
  • Ruby - 14.4
  • CoffeeScript - 0.6
  • GolfScript - 0.02

*Again, C is hard to search for (being a letter), and so the result I got is not accurate. C is prevalent, but take 467,000,000 results with a grain of salt.

Conclusion

If real world practicality is a factor, then the C group of languages, JavaScript, and Java are objectively on top. If popularity on the Internet is the determining factor, then throw out C++ or add in Perl and Python (depending on your threshold). This post does not consider certain factors that I believe to be important, such as:

  • Ease of use
    • Is the compiler/interpreter easy to get? Are the programs easy to run?
  • Lightness
    • How long will it take me to get rid of the crap that comes with downloading and running programs in these languages?
  • Learning curve
    • Is the language easy to understand at a glance? Code that a tester can't read is generally assumed to be malicious, unless you are testing on a VM (additional work).
  • Code Golf
    • Are most GolfScripters, Brainfuckers, and WhiteSpacers also fluent in a "major" language, or do we need to consider including those languages that are prevalent on the site?

Perhaps the rest of you can reach consensus on the other factors mentioned above.

\$\endgroup\$
  • 1
    \$\begingroup\$ Maybe add a third section, using the codegolf.SE search instead of Google? (probably limiting the results to questions tagged with KotH) ... at least that should give an overview which languages have been used predominantly so far (of course challenges like the recent Survival Game may introduce a bias for that). \$\endgroup\$ – Martin Ender Apr 17 '14 at 16:10
  • \$\begingroup\$ @m.buettner Performed keyword searches like "language" "king". Maximum of 6 results for Python. 4 for Java. C is impossible to accurately search for. I don't think these results are incredibly useful given the low sample size, the age of the results (some of them are years old), and the influence that each challenge may have on the answers. It was a good idea though. \$\endgroup\$ – Rainbolt Apr 17 '14 at 16:49
  • \$\begingroup\$ Yeah, the sample size is certainly a problem. Although I actually had a tag-search in mind: like so. Still I agree that Google is probably better (and good enough). \$\endgroup\$ – Martin Ender Apr 17 '14 at 16:52
  • \$\begingroup\$ You can search for c flavored answers to KoTH questions by relying on the need for the IO library: codegolf.stackexchange.com/… . I found 10 with that search, though if anyone used either zero or two or more spaces in that line I missed them. For c++ look for either iostreams or cstdio. \$\endgroup\$ – dmckee Apr 21 '14 at 15:09
  • \$\begingroup\$ What, no Fortran in the real world? Ridiculous. :D \$\endgroup\$ – Kyle Kanos Apr 22 '14 at 2:15
  • \$\begingroup\$ @m.buettner what about SO? \$\endgroup\$ – TheDoctor Apr 30 '14 at 0:11
  • \$\begingroup\$ @TheDoctor that might reduce false positives for things like C and Python, but at the same time I feel it will give a massive bias towards .NET languages. You could give it a try though (maybe just look at number of questions tagged with each language), and add the results to the post if you want (and Rusher doesn't mind). \$\endgroup\$ – Martin Ender Apr 30 '14 at 0:20
0
\$\begingroup\$

Draft post


Become an official King of the Hill tester!

This does not exist so far since I have to go. If you want, please edit in a draft!


\$\endgroup\$
0
\$\begingroup\$

List of "major" languages

Please comment if you think a language is common enough to be added!

  • Java
  • C#
  • C / C++
  • Python (v2 and v3)
  • Perl (what versions?)
  • Ruby (1.8 and 1.9)
  • PHP
  • JavaScript

I have to leave now, so this language list is completely incomplete. At this point, just edit in languages that are obviously major and commonly used ;)

\$\endgroup\$
  • 5
    \$\begingroup\$ "Commonly used" or "Commonly used on PP&CG"? I find the two to be not quite the same list. \$\endgroup\$ – Geobits Apr 17 '14 at 2:49
  • 2
    \$\begingroup\$ I don't think that GolfScript is really very relevant in KotH. Its key benefit (shortness) is irrelevant, and its limitations (speed and access to I/O) are very relevant. \$\endgroup\$ – Peter Taylor Apr 17 '14 at 8:18
  • 2
    \$\begingroup\$ JavaScript via node.js, please! (CoffeeScript would be a plus, but if the tester can't run it, he can ask for a compiled version of the submission) \$\endgroup\$ – Martin Ender Apr 17 '14 at 13:34
  • 2
    \$\begingroup\$ I tried to fit my response in a comment, but it was 2300 characters too long, so I just posted another answer. \$\endgroup\$ – Rainbolt Apr 17 '14 at 15:57
-2
\$\begingroup\$

Perhaps we should add Brainfuck and APL to the list of "major languages"? They aren't "major" but they feature quite a lot here (mostly on ).

\$\endgroup\$
  • 3
    \$\begingroup\$ They are used mostly for the fun of it, but for a KotH challenge, they should not be needed (these challenges are not meant to be esoteric; they're meant to be fun in other ways). And this would have been better as a comment on meta.codegolf.stackexchange.com/a/1453/9498. \$\endgroup\$ – Justin Apr 18 '14 at 18:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .