Esoterische Programmiersprachen sind Programmiersprachen, die nicht für ernsthafte Programmierung, sondern meistens als anspruchsvolle Scherze gedacht sind. Eine einfache Bedienung ist selten, teilweise werden Sprachen konzipiert, um möglichst komplizierte Algorithmen oder unverständliche Syntax zu haben, oft aber auch um neue Ideen auszuprobieren, oder um Möglichkeiten aufzuzeigen.
Die Programmierer möchten möglichst knifflige Rätsel schaffen, schlichtweg mal was anders machen, sich die Zeit vertreiben oder auch die ernsten Grundsätze des Programmierens veralbern. Auch wenn einige dieser Sprachen ernsthafte Hintergründe haben können, werden sie von Geeks oft nur des Spaßes wegen erfunden.
In manchen Fällen wie Brainfuck werden konventionelle Spracheigenschaften so weit wie möglich entfernt, bis eine turingmaschinenähnliche Sprache übrig bleibt.
Die Beschäftigung mit esoterischen Programmiersprachen kann neben anfänglicher Erheiterung beim Programmierer auch zu tieferem Verständnis seriöser Programmiersprachen sowie zur Verbesserung strukturellen Denkens führen.