Note that I don't consider every language I have designed to be esoteric. So, some of the languages I have designed are not on this wiki; conversely, just because a language of mine appears on this wiki doesn't mean I consider it esoteric.
You may read more about me on my website.
Note: if you currently subscribe to the site's RSS news feed, be aware that it is now deprecated, will not be updated, and will eventually disappear as the site transitions to Chrysoberyl. Subscribe to the new Atom news feed instead.
Esolangs You Should Probably Know About
- brainfuck -- the twelve-bar blues of esolang
- Malbolge -- the final boss of esolang
Some Esolangs That I Like
- Please Porige Hot
- Clue (both of them)
- Half-Broken Car in Heavy Traffic
- TURKEY BOMB
Some esoteric-type quotations
- A procession of the damned. By the damned, I mean the excluded. We shall have a procession of data that Science has excluded.
- -- Charles Fort
- Formerly, when one invented a new function, it was to further some practical purpose; today one invents them in order to make incorrect the reasoning of our fathers, and nothing more will ever be accomplished by these inventions.
- -- Henri Poincaré
- Have you ever seen the things I own / And have neglected / They're all quite strange / And unconnected / And that's why they're strong
- -- Curve, Coming Up Roses
- We are not really esoteric, it's just that nobody pays much attention to us.
- -- POEE
Esoteric Reading List!
Don't take this too seriously... I'll try to add some better comments on each of these at some point.
Compilers: Principles, Techniques, and Tools (1st Ed.)
by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman -- ISBN 0-2011008-8-6
a.k.a "The Dragon Book". The classic, borderline-incomprehensible book on compiler construction.
Write your own Adventure Programs for your Microcomputer
by Jenny Tyler -- ISBN 0-8602074-1-2
The real Dragon Book. This one book is probably responsible for setting me off in the direction of programming languages (because it describes how to write a simple one-or-two word parser for an an adventure game.)
The Cognitive Connection: Thought and Language in Man and Machine
by Howard Levine and Howard Rheingold -- ISBN 0-1313961-9-6
Begins with a disclaimer that it contains at least one error -- which turns out to be a giant understatement. The book is riddled with errors, but has a great attitude. Touches on many of the weirder beliefs people have held about logic and language through history (for example, the "logic machines" of Ramon Llull.)
Patterns of Software: Tales from the Software Community
by Richard P Gabriel -- ISBN 0-1951212-3-6
Kind of goes all over the place, but worthwhile for its comparison of object-oriented programming to poetic compression, and for making a case that beauty may not be subjective.
Counterexamples in Topology
by Lynn Arthur Steen and J. Arthur Seebach Jr. -- ISBN 0-4866873-5-X
Don't worry if you don't know topology -- it's not the topology that makes this a worthwhile read, it's the counterexamples.
Computation: Finite and Infinite Machines
by Marvin Minsky -- ISBN 0-1316556-3-9
There are lots of books on computability, but this is one of the earlier ones (1967!) and one of the few that treat tarpits with any seriousness.
The Real Frank Zappa Book
by Frank Zappa and Peter Occhiogrosso -- ISBN 0-6717057-2-5
Mainly for Zappa's theory of art ("entertainment objects") which describes quite nicely how I think of esolangs. The rest of the book is pretty interesting too, though.
Laws of Form
by G. Spencer Brown -- ISBN 0-9639899-0-1 (Added by special request from ehird.)
OMG this BOOK will BLOW your MIND!!!
Gödel, Escher, Bach: An Eternal Golden Braid
by Douglas "I am a Strange Loop" Hofstadter -- ISBN 0-4650265-6-7
OMG did I say Laws of Form will blow your mind? OMFG this book will TOTALLY BLOW your EVER-LOVIN' MIND!!1!
A New Kind of Science
by Stephen "Alpha" Wolfram -- ISBN 1-5795500-8-8
ZOMG FORGET WHAT I JUST SAID THIS IS IT THIS IS THE ONE THIS IS THE REAL DEAL OMFGGG!!!!!!!!!
Highly Awesome Programming Languages
One of my more questionable hobbies is implementing Deadfish in programming languages which I consider to be highly awesome. Thus far, I have implemented Deadfish in R, Falcon, Vorpal, Pure, Felix, Turing (in the Deadfish Cafe in Winnipeg, solely so that I can claim I've implemented Deadfish "in Deadfish",) S-Lang, Seed7, Boo (on Hallowe'en), Clever, Rust, and Mirah.
I wanted to implement it in Neko, but Neko itself doesn't seem to support input, so I don't see the point.
I also wanted to implement it in URSALA, but its official website seems to have vanished. (Well, I didn't stand a chance, anyway, really.)
I'm sure you'll agree that all of these languages are highly awesome.
(btw, I'm elated that searching Yahoo! for "turing programming language" returns Brian Raiter's brainfuck site as the third result.)
(hmm, and it occurs to me that maybe it would be more appropriate to implement Ook! in ooc (in a monkey house at a zoo.) But, gah, one of the nice things about Deadfish is that it's not brainfuck...)
8-bit BASIC Turing-completeness Sketch in One Long Run-on Sentence
Most 8-bit BASICs are Turing-complete if you ignore the paragraph in the manual that came with your micro that says "A string can hold at most 250-mumble characters" which overspecifies the language and should IMO be taken as a description of the limitations of the implementation and we can show this by showing that it is possible to implement any Tag system in 8-bit BASIC by storing the string undergoing rewriting in a variable called
A$ and using
LEFT$(A$,1) to check the leftmost symbol of the string and using
A$=MID$(A$,N+1)+B$ to remove the leftmost n symbols and append the new substring on the right and it should be apparent that the logic needed to otherwise drive the rewriting process is easily encoded in a finite series of
Truly Controversial Programming Opinions
Like James Hague, I too am disappointed by the level of controversy presented in this list of supposedly controversial programming opinions. Thus, here, I will list some opinions about programming that I hope will be received as truly controversial.
- Programming should never be undertaken while both sober and in street clothes. Naked and hopped up on heroin is probably optimal, but drunk and in a tuxedo will do.
- All programs should be accompanied by both a proof of their correctness and a proof that the axiom system in which the correctness proof is written is consistent. You can never be too sure.
- Comments should be written in baby talk whenever possible.
/* We truncy-wuncate the stringy-wingy we were given and we push-push-push it onto the stacky-wacky, don't we? Yes we do! Yes we do! */
Irreparably Confused Foundations of Mathematics
Should you ever tire of esolang, you may be interested in our sister pursuit, Irreparably confused foundations of mathematics (ICFOM). As the name suggests, it is the study of the foundations of mathematics using concepts which are irreparably confused.
One of the watershed results in ICFOM is indisputably Cantor's diagonalization proof of the cardinality of the reals. One day, Cantor took a sheet of paper and wrote all the real numbers on it. Well, actually he left some out, because it was only an A4 sheet; but he raised his face to the sky and shouted "WITHOUT LOSS OF GENERALITY!" and carried on. He knew that each real number had an infinite number of digits, so he drew a line across the top and labelled it "1 × ∞ units". He knew there were an infinite number of real numbers, so he drew a line down the left side and labelled it "1 × ∞ units" too. Then he drew a diagonal line from the upper-left corner to the bottom-right corner and immediately saw that the only sensible thing to label it was "√2 × ∞ units". "Lo," he said, "there is a number longer than any real number! Roughly 1.4 times as long, indeed!" It did not take him long to realize the process could be repeated indefinitely, by rotating the sheet of paper 45 degrees each time; the resulting infinite sequence √2 × ∞, 2 × ∞, 2√2 × ∞, ... is the continuum of the cardinalities that we know today.