We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC
Paradigm(s) Joke, imperative
Designed by Sawyer
Appeared in 2025
Memory system cell
Computational class Total
Reference implementation See below

I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC is a deliberately useless, joke esoteric programming language inspired by the extreme-silliness of ranting at a compiler. It is intentionally 99.99% useless and trivial to implement — the whole point is comedic value rather than computational power. It is equivalent in spirit to trivial one- or two-instruction joke languages such as "Ook!" or some entry-level Brainfuck variants.

Core idea

Every command is a meaningless "rage" action. Most commands do nothing at all except for one command that emits output. Programs may contain any characters; only the letters below are treated as commands. This design makes programs look like angry rants while actually doing almost nothing.

Commands

Command Mnemonic Effect
C Compile (No effect)
S StackOverflow Move data pointer one cell to the right (wraps)
H Heap crash Move data pointer one cell to the left (wraps)
R RAGE Output a single "explosion" (see below)

All other characters are ignored (treated as comments/decoration).

Memory model

  • Fixed-size array of 10 8-bit cells (initialized to 0). — chosen to be arbitrarily tiny for maximum uselessness.
  • A data pointer points at one of the cells.
  • There are no arithmetic instructions, no input, and no control flow.
  • Output (R) prints a single glyph or ASCII character (implementers may choose "💥" or `*` or ASCII 42).

Syntax

Programs are plain text. Only the uppercase letters C, S, H and R are meaningful; lowercase letters are ignored. Whitespace and punctuation are allowed anywhere and ignored.

Example programs

A program that emits two explosions with a pointer move between them:

CSR R

Explanation:

  • `C` — (nothing)
  • `S` — pointer → next cell
  • `R` — output 💥
  • (space ignored)
  • `R` — output 💥

A completely decorative "angry paragraph" that still outputs once:

I REALLY HATE C#!!! RAGE: R !!!

Reference interpreter

Below is a trivial reference interpreter (Python 3). Copy-paste and run; it deliberately matches the minimal, useless spec.

#!/usr/bin/env python3
# Reference interpreter for
# "I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC"
# (Totally useless, intentionally.)

def run(code, cellsize=10, cellbits=8, output_char="💥"):
    cells = [0]*cellsize
    ptr = 0
    for ch in code:
        if ch == 'C':
            pass
        elif ch == 'S':
            ptr = (ptr + 1) % cellsize
        elif ch == 'H':
            ptr = (ptr - 1) % cellsize
        elif ch == 'R':
            # output one explosion (no relation to cell contents)
            print(output_char, end='')
        # else: ignore everything else
    print()  # newline at end

if __name__ == "__main__":
    import sys
    if len(sys.argv) > 1:
        program = sys.argv[1]
    else:
        program = input("RAGE CODE> ")
    run(program)

Really minimal:

print('💥'*input().count('R'))

Implementation notes

  • The language intentionally omits arithmetic and control flow to remain "useless".
  • Implementers are encouraged to be silly with output (emoji, ASCII art, short sentences).
  • For a tiny variation, the output instruction R could print the current cell's numeric value; however the canonical form prints a fixed explosion glyph and ignores cell contents.

Examples of use

  • Joke demonstrations on a wiki page.
  • Playground for showing how an interpreter is built, without worrying about Turing completeness.
  • Entry in the Joke language list.

See also

External resources

  • (Add a GitHub link here if you create an implementation.)