August 27, 2014

I Think I’m in Love

Filed under: Main — admin @ 12:01 am

I was wrong about computers. As it turns out, I really enjoy them and I love to program. I find it relaxing, like working a puzzle. Assembly language was my favorite programming language due to its delightfully cryptic nature. Now I’ve found a language even more cryptic, almost to the point of being insane.

The programming language is called Brainf*ck.

I don’t know why I’m using an asterisk in the name; pretty much everyone knows the F-dash-dash-dash word by now, it being the only truly dirty word left in the English language — a language remarkably bereft of clever insults and other swear words.

Unlike English, Brainfuck is brief and precise. It was created in 1993 and you probably haven’t heard of it because of (well, first the name, and second) it’s not really designed to be a practical programming language, simply one that’s obtuse to the point of being frustrating. My guess is that it uses the extreme minimal instruction set on purpose.

Figure 1 illustrates a Brainfuck compiler I downloaded, called the Brainfucking Machine. The code, barely visible as line noise atop the window, runs the traditional Hello World program. If the code is confusing, that’s by design.

Figure 1. Brainfuck in action.

Figure 1. Brainfuck in action.

You can download the Brainfucking Machine if you’d dare to play with the language yourself: Click here.

You can also read more about Brainfuck at the Wikipedia page here.

Do I have time to learn another programming language?

No!

But Brainfuck is so simple it took me maybe 10 minutes to learn. Now, reading the language is more difficult, not just for me but for anyone. In fact, I believe the language was designed to be impossible to read; it’s deliberately difficult to tell what the code does by looking at it. That’s the point, and hence the name. Such things delight me, which is just part of my odd nature.

While I wish this language had a more family-appropriate name, I confess that it’s quite descriptive. Bravo!

4 Comments

  1. I checked Amazon and I dont see any books on Brainfuck, only two fiction novels of that name. Maybe you should write a programming book on this. Ive heard that BF is just a turing machine implemented in C syntax. I wouldnt mind seeing a pastebin of some commented code in BF that youve written.

    Comment by BradC — August 27, 2014 @ 7:53 pm

  2. Brainfuck doesn’t allow for comments! It’s just code using about 8 or 9 symbols. Pretty basic, but kind of insane. I wouldn’t call it a practical language, but if I were teaching a college-level course, I’d definitely do some lessons on it.

    Comment by admin — August 27, 2014 @ 7:56 pm

  3. I have heard of it, wasn’t it written as a sc*w you a computing professor (or something like that). I think it was also a demo to show something about RISC architecture. Just proves that messing around can produce some thing useful (I think!)
    Glenn

    Comment by glennp — August 29, 2014 @ 5:03 am

  4. I hadn’t heard of that, GlennP. The Wikipedia page says that Brainfuck was written to see how tiny the compiler could be. It has several siblings and cousins. O those idle programmers!

    Comment by admin — August 29, 2014 @ 6:38 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.


Powered by WordPress