Fact-checked by Grok 2 weeks ago

Code golf

Code golf is a recreational programming in which participants challenge themselves to write the shortest possible that correctly solves a specified problem, often measured in characters or bytes. The practice draws an analogy to the sport of , where the objective is to complete a with the fewest strokes, emphasizing efficiency, creativity, and clever use of language features over readability or maintainability. Challenges typically involve tasks like mathematical computations, string manipulations, or generating outputs, with rules prohibiting external libraries unless explicitly allowed and requiring verifiable correctness through test cases. The origins of code golf trace back to early computing practices, such as "program bumming" in the 1950s on machines like the , where programmers minimized instructions to optimize performance. The modern term "code golf" emerged in the Perl programming community, with "Perl Golf" specifically coined by Greg Bacon on May 28, 1999, in a comp.lang.perl.misc newsgroup discussion. Early Perl Golf activities included informal challenges in the late 1990s, evolving into structured tournaments by 2002, such as those sponsored by The Perl Review and hosted on sites like perlgolf.sourceforge.net. Over time, code golf expanded beyond to numerous programming languages, including esolangs designed specifically for brevity like GolfScript and , fostering communities on platforms dedicated to puzzles and challenges such as and code.golf. Notable events include the at in 2000, and ongoing global participation tracked through leaderboards and archives, including recent high-profile competitions like the NeurIPS 2025 Google Code Golf Championship. Today, it serves as both a skill-sharpening exercise and a showcase for language expressiveness, with key figures like Ton Hospel and Andrew Savige contributing to its development and documentation.

Fundamentals

Definition and Goals

Code golf is an unstructured and informal type of recreational computer programming competition in which participants aim to solve a specified problem using the shortest possible source code. The code length is typically measured in bytes or characters, with the objective of producing a functional program that meets the problem requirements in the minimal space. The primary goal of code golf is to minimize length while preserving correct functionality, often at the expense of , , or . Participants frequently employ creative shortcuts, such as , built-in functions, or language-specific idioms, to compress their solutions. This activity serves as a practical of theoretical concepts like , which defines the minimal length of a program describing a given output. Common tasks in code golf revolve around simple algorithmic problems, including generating patterns (e.g., quines or geometric shapes), computing mathematical sequences (e.g., primes or factorials), and handling string manipulations (e.g., palindromes or anagrams). Unlike conventional programming contests, which prioritize execution speed, algorithmic elegance, or scalability for large inputs, code golf distinguishes itself by valuing brevity above all other metrics.

Rules and Scoring

In code golf contests, submissions must produce the exact output specified for all given test cases, including edge cases, and execute without errors or unless explicitly permitted by the . No external files, access, or reliance on non-standard environment interactions are allowed by default, ensuring self-contained programs that compute results rather than retrieve or hardcode them. The primary scoring metric is the total number of bytes in the source code, with the goal of minimizing this count to achieve the lowest score. Ties are typically broken by the earliest submission , though challenge posters may specify alternatives such as in another or subjective criteria like code elegance. Byte counts are calculated based on the the interpreter expects, most commonly using encoding for text-based s. Newlines are counted as 1 byte using LF (\n) unless the requires CRLF (\r\n), in which case they count as 2 bytes; tabs count as 1 byte each. Non-ASCII characters contribute multiple bytes per rules (e.g., a single character may use 2–4 bytes), and any (BOM) must be included if required by the interpreter. Unnecessary whitespace, such as spaces or comments added for readability, is excluded from the count after golfing the code. To maintain fairness across languages, challenges often restrict submissions to specific versions (e.g., 3.8 or later) and may prohibit built-in functions that solve the task trivially without performing the intended computation. Languages or features created after the challenge is posted are marked non-competing, and custom code pages must be documented if they affect byte counts. Common prohibitions include using interpreter flags or command-line options that alter behavior without counting toward the byte total, compression techniques that rely on external decompression, and languages designed exclusively for the challenge to exploit its specifics. These rules prevent loopholes like outsourcing computation to external sources or abusing native data types beyond reasonable precision limits.

Etymology

The term "code golf" originated in the programming community, where it evolved from "," a phrase coined by developer Greg Bacon in a May 28, 1999, post to the comp.lang.perl.misc newsgroup. In that discussion, Bacon described the activity as "Playing (fewest (key)strokes wins!)," analogizing the challenge of minimizing code length to the sport of 's goal of completing a hole with the fewest strokes possible. This naming convention directly mirrors terminology, with "golfing" a piece of code referring to the process of iteratively shortening a program while preserving functionality, much like refining swings to reduce strokes. The analogy emphasizes efficiency and precision, where shorter solutions are prized similarly to lower scores on a . Early instances of the term appeared exclusively in -related forums and mailing lists, such as announcements of contests hosted on websites like perlgolf..net, which formalized challenges around brevity in scripts. Over time, the concept generalized beyond , with "code golf" adopting the term for similar brevity contests in other languages by the early 2000s, as documented in Perl community histories. Related variants include "keystroke golf," retaining the original focus on minimizing actual typing inputs as in Bacon's post, and "byte golf," which strictly measures program length in bytes to account for encoding differences, as seen in platforms like byte.golf.

History

Origins in Theory and Early Computing

The theoretical foundations of code golf lie in Kolmogorov complexity, a measure introduced by Andrey Kolmogorov in 1965 that defines the complexity of an object as the length of the shortest possible program capable of generating it from no input in a fixed universal programming language. This uncomputable metric uses program length as a proxy for descriptional complexity, providing a formal basis for evaluating the minimal resources needed to describe or compute outputs. Code golf practices echo this by treating source code length in practical languages as an approximable stand-in for such complexity, though without the theoretical universality. In the 1960s and 1970s, the APL programming language, pioneered by Kenneth E. Iverson, advanced the pursuit of concise code through its symbolic, array-oriented notation that condensed complex mathematical operations into remarkably short expressions. Iverson's design, detailed in his 1962 book A Programming Language, prioritized expressiveness and brevity, allowing solutions to data processing and mathematical problems in fewer symbols than contemporary languages like FORTRAN. APL communities, including early adopters at IBM, shared examples of such compact programs, fostering an appreciation for minimalistic coding that prefigured golfing techniques. The 1984 launch of the (IOCCC) by Landon Curt Noll and Larry Bassel further emphasized brevity alongside creativity, challenging participants to produce short, obfuscated programs that performed specific tasks while adhering to strict size limits. Entries often balanced ingenuity with compactness, influencing a shift toward viewing as an artistic and technical challenge. In the late and , pre-web forums like newsgroups hosted informal programming puzzles involving computational problems, such as generating patterns or quines. Bulletin Board Systems (BBS) similarly circulated compact code snippets and challenges among hobbyist programmers, building isolated communities around code minimization. Key early contributors included enthusiasts like those in Iverson's circle and regulars who iterated on minimal solutions.

Emergence and Popularization

The term "code golf," initially coined as "Perl Golf," emerged in 1999 when Greg Bacon described the activity in a comp.lang.perl.misc newsgroup thread as an effort to write the shortest program for a given task. This marked a key milestone in formalizing the pursuit, building on earlier informal short-code experiments influenced by complexity theory's minimum description length concepts and the (IOCCC), which since 1984 had encouraged creative, compact coding. Simon Cozens contributed to its popularization through writings and discussions on Golf techniques. During the 2000s, code golf expanded beyond , drawing influences from the IOCCC's challenges and spreading through online forums such as rec.puzzles, where participants shared puzzles requiring minimal code. Early websites and mailing lists hosted regular contests, fostering growth across languages like and , while cultural touchstones like the Perl Golf column in The Perl Review—starting in —provided tutorials and analyses that demystified techniques for newcomers. Simon Cozens further amplified its reach with a dedicated chapter on Perl Golf in his 2005 book Advanced Perl Programming, highlighting advanced idioms for brevity and inspiring broader adoption in programming magazines like . The brought a significant boom, propelled by the launch of the Code Golf and Coding Challenges site on in private beta on December 21, 2010, and public beta in February 2011, which centralized multilingual challenges and grew to host thousands of submissions annually. This era also saw the rise of dedicated golfing languages, such as GolfScript, introduced in 2007 by Darren Smith as a stack-based optimized for conciseness, which by the early became a staple for competitive entries due to its ability to produce solutions often under 50 bytes. Annual events and integrations with broader programming communities, including references in conferences like YAPC (Yet Another Perl Conference), solidified code golf as a recreational pursuit among developers. By the 2020s, up to 2025, code golf continued to proliferate through open-source platforms, with hosting thousands of repositories mentioning code golf challenges, tools, and language implementations as of 2023, reflecting sustained community contributions. Discord servers dedicated to code golf enabled real-time collaboration and live contests, while discussions on AI-assisted golfing surged following the availability of large language models like in 2020, with participants experimenting with to generate initial short codes for refinement. Recent developments include increased integration of AI tools for in challenges, as seen in community experiments with models like by 2023. This evolution underscored code golf's transition from a niche Perl-centric to a vibrant, technology-integrated activity fostering innovation in programming brevity.

Languages and Tools

Adaptations of General-Purpose Languages

In code golf, general-purpose programming languages are adapted through clever exploitation of syntax, built-ins, and idioms to minimize character count while maintaining functionality. These adaptations often involve compressing expressions, leveraging implicit behaviors, and avoiding verbose constructs, allowing participants to compete effectively despite the languages' design for readability over brevity. Python's concise syntax makes it popular for code golf, where techniques like list comprehensions, lambda functions, and string methods significantly reduce code length. For instance, list comprehensions can replace explicit loops, as in generating a sequence with [i for i in range(10)] instead of a for-loop with appends, saving characters by combining iteration and assignment. Lambda functions enable anonymous one-liners for simple operations, such as lambda x:x*2, which avoids defining full functions. String methods like join and replace further shorten text manipulation, e.g., ' '.join(map(str,range(10))) for printing numbers. A representative example is the shortest FizzBuzz implementation up to 100 in Python 2, which uses conditional string slicing: for i in range(1,101):print'Fizz'[i%3<1]+'Buzz'[i%5<1]or i, totaling 62 characters. JavaScript adaptations capitalize on its dynamic typing and array prototypes for brevity. Array methods like map and reduce allow functional-style chaining, such as for(let i=99;i--;)console.log((i+1)%3?'':'Fizz'+(i+1)%5?'':'Buzz'||i+1) for FizzBuzz (70 characters), which leverages short-circuiting and implicit coercion to output without explicit loops. Implicit type coercion, where []+[] yields '0', enables creative shortcuts for constants or conversions, reducing the need for explicit casting. Arrow functions (n=>n*2) and destructuring further compress code, often saving bytes over traditional function declarations. In C and C++, adaptations focus on low-level control to bypass overhead, using ternary operators (a?b:c), macros (#define), and pointer arithmetic for compact logic. Ternaries replace if-statements, e.g., main(){int i=0;for(;i<100;)printf("%d\n",++i*(i%15?0:1)?i%3?"Fizz":i%5?"Buzz":"FizzBuzz":0);}, a 98-character FizzBuzz exploiting printf's formatting and pointer-like increments. Macros define short aliases for verbose includes or expressions, like #define P printf, while implicit int declarations in older standards (pre-C99) omit types for globals. Pointer arithmetic, such as p++ on char arrays for string traversal, minimizes indexing syntax. C++ adds templates and operator overloading, but these are rarely used due to added length. Across these languages, common strategies include single-letter variable names (e.g., i for indices), operation chaining (e.g., a=b=c=0), and prioritizing built-ins over custom functions to avoid boilerplate. Whitespace minimization, such as omitting spaces in a+=1, and using logical operators for conditionals (!!x for ) are universal. These tactics emphasize understanding language quirks without altering core semantics. However, verbose languages like face limitations in code golf due to mandatory declarations, main signatures, and explicit , often requiring over 100 characters for simple outputs compared to under 50 in scripting languages. This syntactic overhead hinders competitiveness, pushing golfers toward scripting alternatives or dedicated golfing languages for even shorter solutions.

Dedicated Golfing Languages

Dedicated golfing languages are esoteric programming languages engineered exclusively for code golf competitions, prioritizing extreme source code brevity while maintaining to solve arbitrary computational problems. These languages achieve conciseness through minimalist syntax, stack-based or tacit paradigms, and extensive built-in functions (often called "atoms" or "elements") that encapsulate common operations like string manipulation, numerical computations, and into single characters. Unlike adaptations of general-purpose languages, dedicated golfing languages are built from the ground up without compatibility constraints, enabling designs that sacrifice readability for byte efficiency. Central design principles include Turing-complete minimalism, where core functionality is provided via a small set of primitives that compose to handle complex tasks, and heavy reliance on built-ins to reduce verbose constructs—such as loops or conditionals—to glyphs or short sequences. This approach allows solutions to typical code golf challenges, like generating sequences or processing text, in under 50 bytes, far shorter than equivalents in mainstream languages. For instance, built-ins often handle vectorized operations natively, avoiding explicit iteration. These principles trace back to early influences like Forth for stack models and for array-oriented brevity, but evolved specifically for golfing's byte-count metric. GolfScript, introduced in 2007 by user "," exemplifies these principles as a stack-based, concatenative language embedded in , featuring concise syntax for and string operations through operators like @ for and , for . It processes data via a where elements are pushed, manipulated, and popped implicitly, enabling terse expressions for tasks like mathematical series. GolfScript's influence persists, though its lack of modern features like literals limits it in some contemporary challenges. Jelly, released in 2015 and inspired by and J, adopts a model using "atoms" (single-character functions) and "chains" (composed sequences) for link-based execution. Its strengths lie in numerical tasks, where arity-agnostic built-ins like (maximum) or Æv (vectorized evaluation) handle scalars, vectors, and higher dimensions uniformly, facilitating compact solutions for math-heavy problems such as prime sieving or . For example, to compute the nth number (1-indexed): 1Æv (4 bytes), which generates the up to the nth term and selects it, leveraging Jelly's monadic/dyadic flexibility. Jelly's design emphasizes composability, making it dominant in challenges requiring algorithmic precision. Vyxal, launched in 2020 by a collaborative team, represents a modern evolution with versatile stack-and-array paradigms, incorporating dictionary-based compression for common strings (replacing phrases with digraphs) and first-class functions for . Post-2020 updates, including version 3 in 2023, enhanced support via an expanded codepage with over 100 glyphs, allowing multi-byte operations to fit in single characters while improving readability. An example for summing a list:
This single built-in pops an from the and pushes its sum, showcasing Vyxal's balance of terseness and convenience. Its ongoing development focuses on performance optimizations for large inputs, making it suitable for diverse challenge types. Other notable dedicated golfing languages include 05AB1E, a stack-based esolang from 2016 with golfing built-ins for operations like Cartesian products (œ) and palindromization (Ř), enabling chained expressions for combinatorial tasks; a simple example prints "Hello, World!":
"Hello, World!"»
Here, the is pushed and output with in 14 bytes. APL derivatives like Dyalog APL leverage vectorized brevity, where primitives such as +/ (sum) apply implicitly over arrays, yielding golf solutions like {+⌿⍵} for matrix row sums in minimal glyphs, though Dyalog extends classic with modern extensions for broader applicability. These languages collectively advance code golf by iteratively refining built-in coverage and paradigm efficiency.

Formats and Competitions

Types of Challenges

Code golf challenges primarily revolve around crafting the shortest possible program to accomplish a specified task, known as standard . In this format, participants submit full programs or functions that read input, process it according to the problem requirements, and produce output, with success measured by the byte count of the source code. Common tasks include generating sequences like prime numbers or checking properties such as whether a is a , where the objective is to minimize code length while ensuring correctness across test cases. Restricted-source variants introduce additional constraints on the allowable to increase difficulty and creativity, such as prohibiting specific characters like vowels, numbers, or whitespace, or limiting the use of certain features like loops or conditionals. These challenges still aim for brevity but force participants to exploit unconventional syntax or built-in functions within the imposed limits, often resulting in highly obfuscated yet functional solutions. For instance, a task might require outputting a specific value without using any digits in the code. Other formats expand beyond pure brevity to incorporate different optimization criteria or mediums. Fastest-code challenges prioritize execution speed over size, requiring participants to balance efficiency with functionality, often submissions on standardized hardware to determine winners by runtime in seconds or milliseconds. Golfed regex challenges focus on crafting the shortest pattern to match a set of target strings while excluding non-matches, testing knowledge of regex engines' quirks without full programming constructs. Polyglot challenges demand a single that validly executes and produces correct output in multiple distinct programming languages simultaneously, leveraging syntactic ambiguities across interpreters. Themed challenges adapt code golf to specific contexts or events, such as holiday-themed puzzles that reinterpret seasonal problems like generating Christmas trees or solving problems under golfing constraints. These often blend narrative elements with technical tasks, like implementing mathematical proofs or puzzles through minimal code. Scoring in these variants typically adapts the standard byte-length metric but may incorporate thematic bonuses or multi-part objectives. Over time, code golf challenge types have evolved from straightforward tasks prevalent in the early 2000s, such as basic arithmetic or string manipulations, to more intricate problems in the involving , simulations, or algorithmic optimizations that demand deeper while maintaining the core brevity goal. This progression reflects growing sophistication and the of diverse computational .

Platforms and Communities

Code Golf Stack Exchange, launched in January 2011, serves as the primary online platform for code golf challenges and discussions. It functions as a Q&A site where users post tagged challenges, submit solutions, and maintain leaderboards through community voting on the shortest valid entries. Rule discussions occur in dedicated meta sections or challenge comments, ensuring standardized participation, with over 12,000 code-golf-tagged challenges posted by November 2025. Other platforms include Anarchy Golf, one of the longest-running sites since the early 2000s, which supports 116 languages and allows open challenge creation with endless or timed contests lacking strict moderation. Code.golf provides a structured game-like interface for solving predefined "holes" (challenges) across numerous languages, emphasizing byte minimization with built-in scoring. hosts collaborative repositories for golfing tools and shared solutions, such as the official code-golf project for platform development. servers, including the official Code Golf Stack Exchange chat and code.golf's community channel, facilitate real-time contests, advice, and event coordination. Events feature periodic online jams and tournaments, such as the NeurIPS 2025 Code Golf Championship, where participants compete in tasks for brevity. Language-specific integrations persist, like golf contests at Perl Conferences since 2000, blending code golf with professional gatherings. Community dynamics include voting systems to select winners, mentorship channels on for newcomers, and cultural staples like "Try It Online" (TIO), an open-source interpreter supporting 681 languages for testing and sharing golfed code. The code golf community has expanded post-2020, driven by increased interest in programming hobbies amid trends, with platforms like showing sustained question growth and active participation.

Applications and Impact

Practical and Technical Applications

Code golf techniques, which emphasize brevity and clever use of language features, have informed practical code optimization efforts in resource-limited environments. In embedded systems, where memory and program size are critical constraints, developers apply golf-inspired tricks such as rewriting multiplications as repeated additions or using bitwise operations to normalize characters, reducing code size without sacrificing functionality. For instance, converting a multiplication like (b - 1) * 3 to (b - 1); a = a + a + a can halve the byte count for that expression, directly aiding deployment on microcontrollers. In , code golf has enabled rigorous analysis of components through exhaustive testing of compact implementations. A 2019 study by Bonnetain, Perrin, and Tian examined the (π) shared by the Russian standards and Streebog, using golfed programs to quantify its structural simplicity. They developed a C implementation of π in 161 characters (1127 bits) and a Stax version in 464 bits, calculating the probability of a random 8-bit exhibiting such brevity as ≤ 2^{-556} and ≤ 2^{-1219}, respectively—far lower than for the (420 bits). This demonstrated non-random design, disproving claims of coincidental similarity between the algorithms. Golf principles extend to research on programming language properties, particularly expressiveness measured via code conciseness. Researchers have proposed models using compression ratios of source code from industrial applications to assess how succinctly languages encode common tasks, drawing on golf-like benchmarks for objective comparison across over 280 languages. This approach weights traditional metrics like lines of code (LOC) by conciseness, revealing variations in expressiveness—for example, adjusting maintainability scores in multi-language projects like ANTLR. Post-2020, such metrics have inspired evaluations of AI code generation, including the 2025 Google Code Golf Championship at NeurIPS, a human competition to produce concise Python solutions for abstract reasoning tasks from the ARC-AGI benchmark, providing reference implementations to advance AI systems. Despite these applications, golfed code's extreme unreadability limits direct use in production, as it prioritizes size over and can obscure intent or introduce subtle bugs. However, the underlying principles—such as exploiting idioms for compactness—support refactoring in optimization pipelines, where tools apply similar reductions post-development. Compression-based conciseness measures, while useful, are sensitive to and libraries, underscoring the need for semantic-aware extensions in real-world deployment.

Educational and Cultural Significance

Code golf serves as an engaging pedagogical tool in , encouraging learners to explore language intricacies and optimize code for brevity while maintaining functionality. By challenging participants to minimize length, it promotes deep understanding of syntax, built-in functions, and , often revealing lesser-known features that enhance overall programming proficiency. For instance, participants frequently discover advanced techniques such as expressions or recursive patterns through iterative refinement, fostering problem-solving skills applicable to broader contexts. In formal curricula, code golf aligns with objectives for teaching code efficiency, as seen in secondary education programs where it supports assessment criteria for concise implementations in languages like . This approach not only builds technical competence but also instills habits of rigorous testing and debugging under constraints, mirroring real-world demands for maintainable code. Educators leverage it to make abstract concepts tangible, turning rote learning into creative exploration that boosts student engagement and retention of core programming principles. Culturally, code golf embodies a playful defiance against verbose programming norms, thriving in online communities that celebrate ingenuity and collaboration. Platforms like Code Golf Stack Exchange have revolutionized the practice by hosting thousands of challenges, spurring the invention of specialized golfing languages such as and 05AB1E, which prioritize conciseness and have influenced esoteric programming paradigms. This ecosystem has produced tools like Try It Online, a widely adopted interpreter aggregator that facilitates cross-language experimentation and has extended to contributions in fields like via updates to the . Within professional settings, code golf cultivates a culture of wit and innovation; at , it emerged as a 20% time project in 2014, attracting hundreds of engineers to an internal platform that served as a "playground for wits" and a "fountain of programming tricks," while also aiding recruitment through skill-demonstrating challenges. Competitions like JS1K further embed it in creative computing, where size limits inspire minimalist and , bridging technical prowess with artistic expression and nurturing interdisciplinary communities.

References

  1. [1]
    Code Golf
    ### Summary of Code Golf from https://code-golf.io/
  2. [2]
    The Lighter Side of Perl Culture (Part IV): Golf - PerlMonks
    Mar 6, 2005 · Perl's main claim to fame in this golf business is that a Perl hacker, namely Greg Bacon, actually coined the term Perl Golf in a comp.lang.perl ...
  3. [3]
    [PDF] Perlgolf History - OVERMONITORING ADDRESS MATRIX
    Jan 9, 2007 · The term “Perl Golf” was coined by Greg Bacon2 in 1999/06/21. ... Greg Bacon, and he blames...). The following elegant 26-character ...
  4. [4]
    Playing regex golf with genetic programming - ACM Digital Library
    Regex golf has recently emerged as a specific kind of code golf, i.e., unstructured and informal programming competitions aimed at writing the shortest code ...
  5. [5]
    Code Golfing in Python - GeeksforGeeks
    Jul 12, 2025 · Code Golf in Python refers to attempting to solve a problem using the least amount of characters possible. Like in Golf, the low score wins, the fewest amount ...Missing: competition | Show results with:competition
  6. [6]
    Kolmogorov Complexity | Brilliant Math & Science Wiki
    Kolmogorov complexity of an object or algorithm is the length of its optimal specification ... If you are interested in code golf, procedural generation or ...
  7. [7]
    Default for Code Golf: Input/Output methods
    Nov 2, 2014 · So there are only four: functions can take input/output via their arguments and return values. Or functions can use any method full programs ...
  8. [8]
    Loopholes that are forbidden by default
    ### Extracted List of Standard Loopholes and Prohibitions in Code Golf
  9. [9]
    'code-golf' tag wiki
    Most of the time you'll need to use idioms discouraged for clean code. The standard approaches are: Remove unnecessary spaces and new lines. Use one-letter ...
  10. [10]
    Who wins code golf if there is a tie?
    May 10, 2019 · If no tie-breakers are specified, or all specified tie-breakers are exhausted, the earliest answer wins. When determining which answer was ...
  11. [11]
    What standard should be used for [code-golf] byte counts? [duplicate]
    Apr 11, 2017 · What standard should be used for [code-golf] byte counts? [duplicate] · Ask Question. Asked 8 years, 5 months ago. Modified 8 years, 5 months ...
  12. [12]
    How are line breaks and formatting counted for code golf challenges?
    Sep 4, 2015 · Newlines are counted as \n , if possible​​ On this account I agree with Pietu: unless your code only works with \r\n , count it as a single ...Counting Newlines - Code Golf MetaCounting Newlines - Code Golf Meta - Stack ExchangeMore results from codegolf.meta.stackexchange.comMissing: encoding | Show results with:encoding
  13. [13]
    Online tool to determine number of bytes for UTF-8 characters?
    Jun 16, 2021 · You can simply paste your code into the code box for any language that uses UTF-8 encoding and it'll give you the character and byte count in ...Scoring code golf (bytes vs. characters)What standard should be used for [code-golf] byte counts? [duplicate]More results from codegolf.meta.stackexchange.com
  14. [14]
    Codegolf rules and boundaries - Code Golf Meta - Stack Exchange
    Nov 2, 2016 · Also, code golf competitions are scored in bytes, so unless your language uses a custom code page, the answer そ will be at least two bytes long ...Agreed formula for Scoring code-golfCode Bowling Index - Code Golf Meta - Stack ExchangeMore results from codegolf.meta.stackexchange.com
  15. [15]
    The Evolution of APL - Jsoftware
    Jul 22, 2009 · The development of the language was first begun by Iverson as a tool for describing and analyzing various topics in data processing.
  16. [16]
  17. [17]
    Another Silly programming puzzle....
    Apr 6, 1989 · Another Silly programming puzzle.... Doug Reeder reeder at reed.UUCP Thu Apr 6 19:59:37 AEST 1989. Previous message (by thread): Another ...
  18. [18]
    Bulletin Board Systems - Engineering and Technology History Wiki
    Bulletin board systems (BBSs) were the first method that the general public widely used to communicate with other people through their computers.Missing: programming challenges code
  19. [19]
    Incrementing a value in a slice - Google Groups
    May 28, 1999 · ... could help me out, I'd greatly appreciate it. Thanks, Kate. Greg Bacon's profile photo. Greg Bacon. unread,. May 28, 1999, 7:00:00 AM5/28/99.
  20. [20]
    CGCC Blog Post #4: Impact of CGCC on Code Golf
    Dec 19, 2021 · In short, I believe that CGCC has had a large impact on the world of code golf, and a not-insignificant impact on programming as a whole.Missing: IOCCC | Show results with:IOCCC
  21. [21]
    [PDF] The Perl Review - CiteSeerX
    Jul 1, 2002 · Dave Hoover has expanded the Perl Golf column to a longer article with more detail, and Clinton Pierce tells us about writing lan- guages ...
  22. [22]
    Advanced Perl Programming, 2nd Edition - O'Reilly Media
    by Simon Cozens. June 2005. Intermediate to advanced. 298 pages. 7h 28m. English. O ... When people are trying to squeeze every last character out of a Perl golf ...
  23. [23]
    CGCC Blog Post #2: The history of PPCG and CGCC - Code Golf Meta
    Aug 28, 2021 · And so, a proposal for a new site was created on the 8th of June 2010, and entered private beta 6 months later. Just over 10 years ago, Code ...Hey Stack Exchange, how are we doing? - Code Golf MetaWhat does Code Golf's progress look like right now?More results from codegolf.meta.stackexchange.com
  24. [24]
    Learn GolfScript in Y Minutes
    GolfScript is an esoteric language that was developed in 2007 by Darren Smith. It is a scripting language with an interpreter written in Ruby.Missing: 2009 | Show results with:2009
  25. [25]
    1, 2, Fizz, 4, Buzz - Code Golf Stack Exchange
    Sep 24, 2015 · In our recent effort to collect catalogues of shortest solutions for standard programming exercises, here is PPCG's first ever vanilla FizzBuzz ...High throughput Fizz Buzz - Code Golf Stack ExchangeObfuscated FizzBuzz Golf - Code Golf Stack ExchangeMore results from codegolf.stackexchange.com
  26. [26]
    Code Golfing in JavaScript - GeeksforGeeks
    Jul 12, 2025 · Code Golf in JavaScript refers to attempting a problem to solve using the least amount of characters possible. Like in Golf, the low score wins.Missing: competition | Show results with:competition<|control11|><|separator|>
  27. [27]
    Tips for golfing in JavaScript - Code Golf Stack Exchange
    May 27, 2011 · A good trick is to write your code with a while loop, and then split it into the a,b,c parts in a for loop.Tips for Golfing in ECMAScript 6 and aboveTips for golfing in Japt - Code Golf Stack ExchangeMore results from codegolf.stackexchange.com
  28. [28]
    Tips for golfing in C++ - Code Golf Stack Exchange
    Jan 28, 2011 · I'm looking for ideas that can be applied to code golf problems in general that are at least somewhat specific to C++ (eg "remove comments" is not an answer).Tips for golfing in C - Code Golf Stack ExchangeTips for golfing in <all languages> - Code Golf Stack ExchangeMore results from codegolf.stackexchange.com
  29. [29]
    Code Golfing in C
    Dec 14, 2019 · The rules of the game are simple: just like golf, your aim is to use the least amount of characters in your source code. Due to the way C ...
  30. [30]
    Code Golf Cheat Sheet for Python – CodinGame Blog
    Mar 21, 2019 · The following cheat sheet with the most used code golf tricks is aimed at both newbies looking to improve their golfing skills and veterans.
  31. [31]
    Tips for golfing in Java - Code Golf Stack Exchange
    Jul 19, 2012 · Use the most recent possible java. Java 8 lets you use lambda expressions, so use it if you need anything even like functional objects.Tips for golfing in <all languages> - Code Golf Stack Exchange"Hello, World!" - Code Golf Stack ExchangeMore results from codegolf.stackexchange.com
  32. [32]
    golfscript.com
    GolfScript is a stack oriented esoteric programming language aimed at solving problems (holes) in as few keystrokes as possible. It also aims to be simple and ...Missing: 2009 | Show results with:2009
  33. [33]
    GolfScript - Esolang
    Jan 2, 2022 · GolfScript is a concatenative programming language embedded on top of Ruby, designed to allow very short programs to be written, in order to win code-golf ...Missing: introduction 2009
  34. [34]
    Jelly is a recreational programming language inspired by J. - GitHub
    Jelly is a golfing language inspired by J. Documentation Quickstart The Jelly interpreter requires Python 3. To download, install, and use Jelly, proceed as ...
  35. [35]
    Introduction to Code Golf and Golflangs - Bounded-Error Log
    Dec 22, 2022 · Code golf is the recreational activity of trying to write programs that are as short as possible. Golfed programs still have to be correct, ...A Simple Example · Code Golf Sites · How To Design A GolflangMissing: origins | Show results with:origins
  36. [36]
    Vyxal - Esolang
    Aug 22, 2025 · Vyxal is a stack-based language for code golfing, focusing on readability and elegance, with a mnemonic codepage and practical language ...Missing: features | Show results with:features
  37. [37]
    Vyxal/Vyxal: A code-golfing language experience that has ... - GitHub
    Vyxal is an array programming language that is: Stack-based; Inherently terse; and Convenient. How do I run Vyxal 3? There are ...Missing: 2020 | Show results with:2020
  38. [38]
    How does this GolfScript code print 1000 digits of pi? - Stack Overflow
    Jul 20, 2019 · Take a, take b, then calculate b/a. This is because the \ changes the order of the top two elements in the array, and / divides them.Code Golf: Leibniz formula for PiWhat is the fastest way to get the value of π?More results from stackoverflow.com
  39. [39]
    Jelly - APL Wiki
    Jul 24, 2025 · Jelly is an APL-like language inspired by J. It extends J with many built-ins intended to give Jelly an advantage in code golf.Missing: features | Show results with:features
  40. [40]
    Tips for golfing in Jelly - Code Golf Stack Exchange
    Feb 3, 2016 · Jelly is a tacit, golf-oriented programming language by our very own Dennis. It's popping up in answers here more and more often, beating other golf-y ...code golf - *Language name* is awesome!Simple Printing Arrows - Code Golf Stack ExchangeMore results from codegolf.stackexchange.comMissing: 2015 | Show results with:2015
  41. [41]
    vyxal - PyPI
    Vyxal is a stack and array based golfing language experience that takes the idea that conciseness comes at the cost of practicality and throws it out the ...Missing: 2020 | Show results with:2020
  42. [42]
    Adriandmen/05AB1E: A concise stack-based golfing language
    05AB1E is a golfing language. If the name 05AB1E were interpreted as a hexadecimal number and converted to base64, it would result into "Base".
  43. [43]
    05AB1E - Esolang
    May 2, 2025 · 05AB1E (also typed as 05ab1e) is a stack-based programming language invented by PPCG user Adnan (also known as Adriandmen).Basic syntax · IO · Examples · Hello World
  44. [44]
    APL Language | Dyalog Blog
    May 22, 2024 · Dyalog v18.0 introduced ⎕C , which converts the case of characters in an array by mapping to lower case, mapping to upper case, or folding.Missing: brevity | Show results with:brevity
  45. [45]
    Tour
    ### Summary of Challenge Types in Code Golf from the Tour Page
  46. [46]
    Newest 'restricted-source' Questions - Code Golf Stack Exchange
    Adapted from tips for restricted-source in Python Just like code-golf, restricted-source pushes one to exploit quirks and hidden features of the zsh language.
  47. [47]
    Newest 'fastest-code' Questions - Code Golf Stack Exchange
    This is a fastest-code challenge. Count how many n-dimensional hypercubes with n=1,2,3,4 exist, with vertices labeled with either 1 or 0.
  48. [48]
    Do we really need the [regex-golf] tag?
    Jan 24, 2014 · "Regex golf is a programming challenge involving two lists of items. The goal is to create a regex that matches one list without matching ...Would Regex Golf challenges be interesting for the site?Should language-specific code golf challenges be explicitly ...More results from codegolf.meta.stackexchange.com
  49. [49]
    Newest 'polyglot' Questions - Code Golf Stack Exchange
    Task Write a polyglot in two languages that when run, outputs the name of the language it is run in. Additionally, this program must also output the other ...
  50. [50]
    What do we rename Advent of Code Golf?
    Oct 30, 2022 · You can call it something like "Code Golf Advent Calendar" or "Santa Golf" or "Christmas Code Golf" or "Code Golf December 2022". ... 'Code Golf ...Advent of Code Golf 2021 is over! (Stats, Hall of Fame)Announcing Advent of Code Golf 2021! (+ Event challenge sandbox)More results from codegolf.meta.stackexchange.comMissing: variants | Show results with:variants
  51. [51]
    jakeg -> notes -> code-golf
    However, the term "code golf" was apparently first used in 1999 with Perl, and later popularized through Perl to write programs that performed RSA encrytion.
  52. [52]
    Newest 'code-golf' Questions
    - **Total Questions Tagged 'code-golf' as of November 2025**: Insufficient relevant content to determine exact total; content shows a paginated list with 825 pages (at 15 questions per page), suggesting at least 12,375 questions, but no explicit total is provided.
  53. [53]
    anarchy golf
    This is a golf server. You can enjoy short coding here in several languages (116 languages). The purpose of this server is not serious competition.
  54. [54]
    code-golf/code-golf - GitHub
    Code Golf. This is the repository behind the website and community https://code.golf. Quickstart. Alternatively, see the Vagrant section below to create a ...
  55. [55]
    Hanging up my diamond - Code Golf Meta - Stack Exchange
    Jan 24, 2020 · I've been spending a lot of time on The CGCC Discord Server, which I enjoy a lot. There is also a sister server I've been running for talking ...
  56. [56]
    The NeurIPS 2025 Google Code Golf Championship
    Jun 27, 2025 · In this competition, contestants will be presented with a series of tasks, and challenged to produce a Python program for each that exhibits the desired ...Missing: tournaments | Show results with:tournaments
  57. [57]
    [FWP] ANNC: Perl Golf Apocalypse
    Jul 7, 2000 · This type of coding competition was named Perl Golf by Greg ... Perl Golf Tournament for the 4th Perl Conference in Monterey this July.
  58. [58]
    Try It Online
    To use TIO, simply click the arrow below, pick a programming language, and start typing. Once you click the run button, your code is sent to a TIO arena ...
  59. [59]
    What does Code Golf's progress look like right now?
    Mar 6, 2014 · The overall scenario is extremely positive. What was once a site that may've languished and sat in Beta status indefinitely, has returned with ...
  60. [60]
    Hosting Code Golf Contest : r/codegolf - Reddit
    Oct 9, 2024 · The small golf contest I'm running is on Discord, I've just started using a bot to start automatic scoring (when possible). In the past, I've ...What discord/s are good for code help? : r/adventofcode - RedditWe all know about "Code Golf", but what are some other code sports ...More results from www.reddit.com
  61. [61]
    10 simple tricks to optimize your C code in small embedded systems
    Aug 14, 2019 · The following simple tricks in C are dedicated for program memory space optimization. These are particularly useful for embedded systems programmers.
  62. [62]
    Disproving a Coincidence with Code Golf - Inria
    In this post, we use code golf to prove that claims made by the designers of some Russian standard cryptographic algorithms are factually wrong.
  63. [63]
    Anomalies and Vector Space Search: Tools for S-Box Analysis (Full ...
    May 20, 2019 · In this paper, we provide tools for finding the hidden structure in an S-box or to identify it as the output of a complex generation process rather than a ...
  64. [64]
  65. [65]
    NeurIPS 2025 - Google Code Golf Championship | Kaggle
    Jul 31, 2025 · Timeline · July 31, 2025 - Start Date · October 23, 2025 - Entry deadline. You must accept the competition rules before this date in order to ...
  66. [66]
    Getting Started - Code Golf Meta - Stack Exchange
    Feb 25, 2018 · Here are my suggestions: 05AB1E – A stack-based language with lots of built-ins, some which are hardly ever used, but when chained properly, ...What is the point of unicode gibberish? - Code Golf MetaLet's allow newer languages/versions for older challengesMore results from codegolf.meta.stackexchange.com
  67. [67]
    Anyone for a game of Code Golf? - teachwithict
    The idea behind Code Golf is to encourage efficient use of code. At GCSE / A-Level, students are required to make efficient use of code in order to access ...Missing: significance | Show results with:significance
  68. [68]
    Code Golf, the Strange Sport Google Employees Play
    Jul 21, 2015 · It is "a playground for Google engineers to show off wits, a fountain of programming tricks for the studious, and a symbol of defiance."Missing: significance | Show results with:significance
  69. [69]
    Taper: Creative Constraints and Minimalist Design in a ...
    Jun 22, 2025 · JS1K, a JavaScript code-golf competition, has been a major influence ... education. In particular, we wish to discuss creative models ...<|separator|>