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.
Vibes
| Paradigm(s) | imperative, procedural, object-oriented |
|---|---|
| Designed by | User:Harshit-Gupta-2005 |
| Appeared in | 2026 |
| Type system | dynamic, duck |
| Memory system | variable-based |
| Computational class | Turing complete |
| Reference implementation | Vibes (Python) |
| Influenced by | Python, C |
| File extension(s) | .vibes |
Vibes (tagline: vibecode with vibes) is an esoteric programming language whose entire vocabulary is
"vibes"-themed slang. Structurally it resembles C (explicit block
delimiters, vibes on / vibes off, instead of
significant whitespace), while its semantics closely follow Python
(dynamic typing, no forced declarations, exception handling modeled on
try/except). Every keyword one-to-one maps onto a familiar construct from a
mainstream language, but spelled as slang -- it's giving instead
of if, manifesting instead of print,
big yikes instead of raise, and so on.
Design
The core idea is: if you already know how to program, you already know
Vibes -- you're just relearning the vocabulary. Control flow, functions,
classes with single inheritance, and a full exception-handling system
(try/except/else/finally, with 14 built-in error types each carrying its own
default message) are all present, mapped as directly as possible onto their
mainstream equivalents rather than being reinvented. Utility functions that
aren't about control flow or program "feel" (range,
len, int, str, type) are
deliberately left unrenamed.
A yet-unimplemented v2 idea in the language's own design notes is a global "vibe level" (0-100, starting at 50) that would eventually affect program execution -- e.g. errors being silently forgiven at high vibes, or the program "sighing" at low vibes -- deliberately deferred until the core language was working.
Hello, world
manifesting "hello, vibes world"
Example: a class, a loop, and error handling
channeling math
new aesthetic Person
vibes on
new vibes __init__(self, name)
vibes on
self.name vibes with name
vibes off
new vibes greet(self)
vibes on
manifesting "hey, " + self.name
vibes off
vibes off
new vibes count_up(limit)
vibes on
x vibes with 0
vibing through i in range(limit)
vibes on
it's giving i vibe match 5
vibes on
no more vibes
vibes off
x vibes with x + i
vibes off
sending vibes x
vibes off
main_character_vibes
vibes on
word vibes name vibes with absorbing "what's your name?"
catch the vibe
vibes on
p vibes with Person(name)
p.greet()
result vibes with count_up(10)
manifesting result
vibes off
bad vibes wrong vibes as e
vibes on
manifesting "bad vibes detected: " + e
vibes off
bad vibes negative vibes as e
vibes on
manifesting "something went off: " + e
vibes off
good vibes only
vibes on
manifesting "that's a wrap"
vibes off
that's a wrap
vibes off