1
\$\begingroup\$

My understanding of code-golf in general is that you're to provide the shortest solution in a given language. However, for most challenges, you could safely pick a language no one really is familiar with, and write a fairly lengthy code solution without worrying that someone will top it. For example, most of the questions here do not have a solution written in, say, x86 or MIPS. It'd be possible to write a poorly optimized (in terms of bytes) solution in these respective 'languages' (technically assemblies, but whatever), with little worry of it being beaten.

Is this considered ethical?
I suppose the counterargument could be made that making these obscure languages commonplace would both raise awareness of them, and could also create competition, but at the same time, doing so with really lengthy programs seems to fly in the face of the very concept of golfing.

\$\endgroup\$
  • \$\begingroup\$ Clarification: Some solutions may be long simply due to the fact they are not designed to be golfed in; Assembly, for example, has no libraries built in, so if the solution calls for a list or something, you'll have to implement that manually. This is not what I'm asking about, rather, the solutions that are more or less lazily ported to an obscure language without trying to optimize them simply because no one will challenge them. \$\endgroup\$ – Andrew Baumher Aug 31 at 23:25
  • 3
    \$\begingroup\$ What is your ethical worry? That someone will get an undeserved "win" using an obscure language? \$\endgroup\$ – xnor Sep 1 at 17:48
  • \$\begingroup\$ More or less, i guess. Calling yourself the winner of a one-horse race is deceptive at best. Though i suppose i'm splitting hairs because in the grand scheme of things the fairness of code golf is irrelevant. And fair and ethical are two different things \$\endgroup\$ – Andrew Baumher Sep 3 at 9:31
7
\$\begingroup\$

Submissions should be competitive. This means you must make efforts to minimize (or maximize) your score. Submissions that fail to do so are against the rules.

If you are attempting get away with breaking the rules by picking an obscure language, it is still against the rules.

However, realize that users here are specialists in obscure languages, so this plan will likely fail. Obscure languages are totally acceptable: We rather love them here.

\$\endgroup\$
  • \$\begingroup\$ Is it considered competitive if it's the best you can do, but clearly not the most efficient code? Using the MIPS example, I rarely answer in it, despite the fact I could, because it seems unethical to me to do so knowing full well it could be improved upon by someone better at golfing MIPS than myself, but incredibly unlikely anyone else will actually do so. \$\endgroup\$ – Andrew Baumher Sep 1 at 10:19
  • \$\begingroup\$ I can testify that it won't work, as a Malbolge programmer. I don't think this is unethical too, because I've spent fair amount of time on my submissions. If somebody will try to accuse someone else not golfing my code (...? cmon, it has no sense), it's just safe to reply - "I don't know the language enough to golf the code more". \$\endgroup\$ – Krzysztof Szewczyk Sep 1 at 10:37
  • 7
    \$\begingroup\$ @AndrewBaumher We 100% allow submissions that are sub-optimal but that show effort. People may comment and say "You can improve X or Y", but unless have obviously shown no effort (long names, extra whitespace, etc), your answer is valid. \$\endgroup\$ – Nathan Merrill Sep 1 at 13:37
  • 4
    \$\begingroup\$ @AndrewBaumher I think you may be interpreting 'competitive' differently than it is intended here. To use a sports analogy: setting a new world record on 100m is most certainly competitive, but not required. If you run, your approach is competitive. If you walk, it is not. The issue of course is that it is harder to see whether you are 'running' in codegolf, but likely less hard than you may think. \$\endgroup\$ – Discrete lizard Sep 1 at 15:21
-1
\$\begingroup\$

Submission in obscure language that is very probably hard to program is worth more than any other golfed submission in programming language made specifically for golfing, because there was so much more effort put in answering. The more interesting question is - is it ethical to golf in golfing languages?

I'm a Malbolge programmer, and I've posted many submissions to various challenges in Malbolge. The submissions aren't golfed that much, but neither I or anyone else is going to think I'm doing unethical stuff.

I'm also criticizing the requirement of golfing my submissions, because I may get outgolfed, but why does it bother you?

\$\endgroup\$
  • \$\begingroup\$ It bothers me because others could put in as much or more work than i do, and ultimately not get any credit because it's winner-take-all. That doesn't really seem "fair." \$\endgroup\$ – Andrew Baumher Sep 3 at 9:05
  • \$\begingroup\$ An aside, respect for programming in Malbolge. My standard for difficult languages are Standard ML/Prolog/Lisp/SmallTalk (based on the desired goal, of course) and by comparison they're "hello world" in Python \$\endgroup\$ – Andrew Baumher Sep 3 at 9:14
  • \$\begingroup\$ Personally, I will always +1 the guy who manages to golf 1 byte off a 10 byte [insert golfing language of choice here] solution over the guy who makes no effort to golf any bytes off a few-hundred byte solution in [insert obscure, verbose language of choice here]. It's a common misconception around here that annoys me that the mere existence of golfing languages immediately equates to being able to golf well in those languages - to me that's as ridiculous as saying that by buying a car you immediately gain the knowledge of how to drive that car ... (cont'd) \$\endgroup\$ – Shaggy Sep 6 at 23:44
  • \$\begingroup\$ ... I've instigated a good few initiatives to recruit people to golf in Japt and, every time I do, I see first time Japters struggling to do in 40 bytes what I can do in 5. That's not to knock those people - a lot of them have gone on to be incredibly good Japt golfers - it's to illustrate my point that golfing well in golfing languages still requires skill, knowledge, experience and effort. \$\endgroup\$ – Shaggy Sep 6 at 23:50

You must log in to answer this question.

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