# Is CGCC culture compatible with competitive programming culture?

A few days ago, a post called The puzzle masters behind Facebook's Hacker Cup explain how they craft questions appeared on the Stack Overflow blog and is currently promoted on the sidebar of related Stack Exchange sites. The last sentence of the post says: "Last but not least, if you feel like some puzzling this morning, don’t forget to check out the question the Hacker Cup team shared on Code Golf" (link not in the original post, for some reason).

The CGCC site description says the site is for "recreational programming competitions," the new site name discussion explicitly rejected proposals to change the site name to just Code Golf, and the on-topic page doesn't say anything about puzzles being restricted to code golf. But some of the comments on the Hacker Cup question make me wonder if it would be more accurate to just describe CGCC as a code golf site:

• One comment claims that "golfing IO [should be] uninteresting," and says parts of the question "mismatch the cultures of competitive programming" (as compared to, presumably, the culture of CGCC).

• Another says that while "avoidances of overly large numbers" is "typical on many other competitive programming sites, it's not really part of the culture here."

• A third comment says, "When I read challenges here that sound like they are from programming contests, I start worrying that they are attempts at cheating or plagiarism" and "I think less puzzley programming-contest style challenges that are about implementing code work better here."

All this for a submission that, while it started its life as an unused Hacker Cup question, was written specifically for CGCC as a code golf question.

After some edits, the question has been well-received and has gotten upvotes and answers. But, like 91% of non-closed questions [on this site] since 2017, it's still a code golf question. If the author had left it as a traditional Hacker Cup-style question, would it have been welcome on CGCC? Is CGCC the place on the SE network where competitive programming questions belong, despite the cultural differences between the two communities?

• My view may be distinct from the majority. I feel there are code-golf enthusiasts here who have a passionate love of particular esolangs and a certain style of question. They can be very negative towards any question that doesn’t fit easily into their mould. However there are also a lot potential question answerers who are much more flexible and are happy to take part in a wide range of competitions. The latter may be more important than the former for the future of the site.
– user9207
Nov 10 '19 at 9:02

The three points you have posted mostly apply only to the tag. They're there because answers to code golf challenges can be in any of hundreds of languages used here, e.g. for a challenge to multiply 2 numbers, parsing decimal input up to $$\10^{18}\$$ in brainfuck would probably end up taking >95% of the bytes and be copy-pasted to every challenge. Honorary mentions to Java.

This site definitely has some implicit restrictions set by users on what types of questions can succeed here, but I would probably go with calling CGCC a "casual competitive programming" site, made to fill what wasn't possible on other sites. It's hard to define much further, as there's still sometimes disagreement on whether some challenges are on-topic here.

A copy-paste from any "proper" competitive programming site would probably not go down well here. Challenges here need an objective winning criterion (it's one of the defining properties of this site), so alone, without any scoring mechanism (e.g. ), it doesn't fit here. A plausible scoring mechanism in competitive programming is performance, and we do have a tag which gets challenges posted every now and then, but those either are some popular/specific thing - as answers are public (another major difference from other competitive programming sites), questions requiring thinking of algorithms would just result in copy-pasting or just one answer getting updated constantly (then again, ).

• Based on this answer, it seems like you would agree with the assertion that CP culture is not compatible with CGCC culture (or at least doesn't mesh well with it), given that: 1) CGCC is mostly code golf (fixed link above) and 2) CGCC has no online judge back-end, which makes objective scoring more difficult. I will point out that Codeforces, one of the major traditional CP sites, lets user view other users' answers after the competition. But it requires some clicking around, unlike CGCC where the answers are clearly visible. Oct 28 '19 at 18:30
• @RedGreenCode one thing to note is that many programming competitions use many pass/fail problems as criterion for winning, while a question one this site is a singleton that by definition must have an objective winner. For programming competitions, the question is "can you do this?" For CGCC, the question is "who can do this the best?" Oct 28 '19 at 23:02
• @Stephen For real-time contests, traditional programming competitions use coding speed to determine winners. A common approach is to award contestants a fixed number of points for each of their submissions that runs in less than the time limit (e.g., 2 seconds) and then subtract points based on how many minutes it took them to submit their solution. So "best" for programming competitions means "fastest [coder]" while "best" for CGCC usually means "smallest [program]." That's another cultural difference. Oct 28 '19 at 23:31
• @RedGreenCode There have been a number of very successful fastest-code questions. I wish there were more.
– user9207
Nov 10 '19 at 9:05
• @Anush: Yes, there have been some popular ones over the years (codegolf.stackexchange.com/questions/tagged/fastest-code) Nov 10 '19 at 18:16