You've probably seen the privileges list, and you've probably looked at it and found some quite useful stuff (and some complete garbage) that you may not have. So... how do you get reputation?

Bounty hunting

We rarely offer spontaneous bounties on this site. Instead, we usually offer deadlineless bounties. These offer reputation for accomplishing certain tasks, from using a language to cracking C&Rs to improving on an answer to creating something truly amazing. Whatever the case, these bounties are for something special.

A specific case of this is Language of the Month. This is a monthly challenge where you post answers in a specific language, and there are usually bounties attached. The languages are generally well-documented and easy to learn, and you can sometimes find a language that you'll want to stick with after the month ends.

Post high-quality unique questions

Unlike other sites on the network, questions take a fair amount of effort to write and give a lot of reputation. Well-written questions can get tens of upvotes, but poorly written questions can get closed and recieve large amounts of downvotes. Fortunately, the Sandbox exists to catch issues before they make it to the site.

The sandbox only works if used responsibly - negative feedback in the sandbox will often be magnified hugely on main, so leave posts there for at least three days, and try asking for feedback in The Nineteenth Byte if none's given (avoid nagging though).

Having original challenge ideas is hard, and so is determining if something is a good challenge. A good challenge is usually a simple transformation from input to output, and if it includes something in the Things to avoid list see if you can remove that.

Learn an interesting language

If you primarily golf in something like JavaScript or Python, which lots of people use, you'll often get outshone or beaten to it. Instead, it's a good idea to use a language which few people use. Whether it's a rare practical language like D, Prolog or Hy, a 2d language like ><> or Befunge, something truly verbose and annoying like Mornington Crescent or Taxi, or even a tarpit like brainfuck or BitCycle, you'll have lots of fun and you might even create something amazing!

However, there's one specific category of language that consistently produces very short solutions that get lots of votes:

Golfing languages

It's simply a fact of this site that golfing language solutions generally get more votes than non-golfing language solutions. With their powerful builtin libraries, they trivialise many simple tasks such as permutations, which allows you to create more interesting and shorter solutions in less time.

Golfing language solutions are also inflated by the FGITW effect combined with Hot Network Questions, as they usually recieve slightly more votes, which propels them to the top in the default sorting system of sorting by votes. "Drive-by voters" browsing the HNQ usually only vote on the first few answers, inflating this effect further.

That said, it doesn't mean you shouldn't golf in practical languages - They're just as fun to golf in, and sometimes still get insane amounts of votes.

Some good golfing languages to learn are:

  • Vyxal, a stack-based golfing language designed to be easy to learn, and well-mantained with a large community.
  • Pip, an infix ASCII golfing language also designed to be easy to learn
  • 05AB1E, another stack-based golfing language

You may have seen languages like CJam, Golfscript and Pyth around the place. The thing is, these languages are fairly ancient. Golfscript is incredibly obsolete, and Cjam and Pyth are referred to as "second-generation" - powerful builtin sets restricted to printable ASCII. Additionally, none of these are mantained any more.

You've almost certainly seen Jelly around the site. Despite not being updated since 2019 (and not significantly since 2018), it's incredibly powerful and terse, and well ahead of its time; Jelly's still very competitive today. But, its syntactically complex ways of arranging builtins take a while to learn, and far longer to master. I highly recommend learning it, but it's not a good language to start with. If you want to learn it, you might find help in the Jelly room.


In conclusion, simply participate more and you'll get plenty of reputation in no time!

Underappreciated posts

As part of blog posts, we'll demonstrate some of the more unappreciated posts on the site, and we highly recommend you check them out and give them an upvote. These were nominated by various users, and if you think you've found an answer that deserves more appreciation, feel free to drop a link to it in the CGCC Blog chat room.

Dominic Van Essen's Malbolge answer to Output Two Numbers (Robbers' thread). This answer is written in Malbolge which is already hard enough, and it's written by hand! The corresponding cops answer was created by Kamila Szewczyk, famously the master of malbolge. That challenge was to print a number between 1 and 3 (i.e. 2) in 7 bytes, and Dominic managed it in six.

emanresu A's tinylisp answer to Ungolf my Tinylisp code. This challenge is to format a piece of tinylisp code, so the language is very fitting. The basic strategy of creating a tree used by all the answers doesn't work in tinylisp, so the answer uses a clever iterative approach. It's still twice as long as the other answers, but whatever, it works.

Nitrodon's brainfuck answer to Resolve references in a chat discussion. Using brainfuck is already hard enough, and this answer uses it where most other answers use arrays and regex, two things Brainfuck is terrible at. Nevertheless, it still solves the challenge in a modest 240 bytes.

  • 14
    \$\begingroup\$ I'd add: don't get discouraged when you put a lot of effort into an answer and it doesn't get any upvotes. This happens all the time, even to high-rep users. I try to shrug it off, remind myself to enjoy the process, and keep golfing. \$\endgroup\$
    – DLosc
    Commented May 19, 2022 at 16:22


You must log in to answer this question.

Browse other questions tagged .