Esoteric Programming Concepts

Nonsense is nonsense. But the study of nonsense? That is a science.
—Saul Lieberman

                     |               _)              
   _ \   __|   _ \   __|   _ \   __|  |   __|   _` | 
   __/ \__ \  (   |  |     __/  |     |  (     (   | 
 \___| ____/ \___/  \__| \___| _|    _| \___| \__,_| 
                                                     

From ἐσωτερικός — esōterikós — "belonging to an inner circle"....

Tree_of_Life,_Medieval.jpg
—(Bootstrapping the Kabbalah funge)

Why does any one program anything? For money, sometimes, but often just for the sheer joy of the thing.

Esoteric Programming Concepts:

  • Underhanded programming — programs constructed such that their runtime behaviour is different from their expected behaviour at read-time. The concept is closely aligned with the serious technique of Obfuscation And steganography.
  • Polyglot programs — programs that are valid programs in more than one syntax.
  • Esoteric Programming Languages — programming languages that are created for reasons other than serious use.
  • Quine — a program that prints its own source code.
  • Code Golf — the competition to write the shortest possible program (measured in bytes) that achieves some specific goal.
  • Code Poetry — literature that intermixes classical poetry and computer code.
  • Software Art — creating programs that produce works of art.
  • Art Games — games that are created as artistic expressions.
  • Hello World — the construction of hello world programs is such a fundamental that it can be considered esoteric.
  • Foo Baz Bar — the use of these terms is itself esoteric.
  • Hidden Programming — code that is purposefully concealed, either by secret societies or befuddled scholars, perhaps in marginalia, within comments, whitespace, within discarded branches of a version control system, in the nachlass of a demented code poet, in undecipherable keyed indices. 438.
  • Programming Puzzles and Challenges — for example Project Euler.
  • Joke Programs and Prank Programs — programs that are written (or discussed) for non-serious purposes.
  • Metaprogramming — programs that read and write programs
  • Domain Specific Languages — writing small languages for tiny domains
  • The Art of the Compiler — compilers themselves can be implemented for esoteric reasons
  • Bootstrapping — the act of compiling a language in its own language is an esoteric (though also practical) notion.
  • Virus, Worms, Trojans, Spear phish, exploits and penetration testing software — if you can put aside the malware purposes to which they're sometimes applied, these categories of software are extremely esoteric.
  • Cryptography — software for writing and solving codes.
  • Artificial Life — computer simulation of life-like processes.
  • Heuristics — the application on inexact solutions to impossible problems
  • Easter eggs — hidden and surprising features embedded in consumer software, snuck in by subversive programmers in defiance of their corporate overlords. Many - perhaps most - Easter eggs are never found.
                 _          _            
 ___  ___  ___ _| |___ __ _(_)___  _ __  
/ _ \|__ \/ _ |__ / _ |__` | |__ \| '_ \ 
\__  / __| (_) _| \__  | | | |__) | |_) |
|___/\___|\___|__/|___/  |_|_|___/|_.__/ 
                                         

See Also

45 163 157 164 145 162 151 143 141