background preloader

The Brainfuck Programming Language

The Brainfuck Programming Language
Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.) I originally started playing around with Brainfuck because of my own interest in writing very small programs for x86 Linux. The Language A Brainfuck program has an implicit byte pointer, called "the pointer", which is free to move around within an array of 30000 bytes, initially all set to zero. The Brainfuck programming language consists of eight commands, each of which is represented as a single character. The semantics of the Brainfuck commands can also be succinctly expressed in terms of C, as follows (assuming that p has been previously defined as a char*): Resources The Brainfuck archive. Brian RaiterMuppetlabs

Sometimes, The Better You Program, The Worse You Communicate. 'peSHIr' on Fri, 05 Jun 2009 10:39:57 GMT, sez: So *this* is why I communicate so horribly! ;-) 'Mike Woodhouse' on Fri, 05 Jun 2009 11:34:33 GMT, sez: My Wife [giving some typically incomplete instructions]: You know what I mean Me: I don't. My wife doesn't program. 'DylanW' on Fri, 05 Jun 2009 11:56:36 GMT, sez: I have never before felt like my chosen career was actually doing me harm. (Kidding. 'Doekman' on Fri, 05 Jun 2009 12:06:01 GMT, sez: So what you are saying is actually that you have less than average programming skills? 'wpfleischmann' on Fri, 05 Jun 2009 12:56:12 GMT, sez: re: (1) Human communication is a lossy medium, so it requires significant redundancy. 'Stephan L.' on Fri, 05 Jun 2009 13:19:35 GMT, sez: Like Doekman says, you can read this the other way around: here are four reasons why the better you communicate with typical human beings, the worse you are as a programmer :-) 'Kyle Lanser' on Fri, 05 Jun 2009 13:55:44 GMT, sez: I Disagree. her: Crab's until 10, right? false; 1.

lci - a LOLCODE interpreter written in C Ruby Programming Language Cfluviurrh This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information. Cfluviurrh is an esoteric programming language designed and implemented by Chris Pressey on August 25th and 26th of 2012, in Winnipeg, Manitoba, Canada, based an on idea that occurred to him about a year earlier in Pearson International Airport, Toronto. Cfluviurrh was designed specifically to support writing programs which have emotional feeling. It defines a mechanism by which a program can be instructed to experience a particular emotion. It may be the first such language to do so. Example Program[edit] The following program prints out the printable portion of the ASCII table: Implementation Architecture[edit] Because Cfluviurrh programs are specified to feel certain emotions, there are limitations on the possible architectures on which Cfluviurrh can be implemented. an electronic computer alone a psychopathic human Computational Class[edit]

Bill the Lizard: Books Programmers Don't Really Read Mark Twain once said that a classic novel is one that many people want to have read, but few want to take the time to actually read. The same could be said of "classic" programming books. Periodically over on Stack Overflow (and in many other programming forums) the question comes up about what books are good for programmers to read. Books Most Programmers Have Actually Read I've read all of these books myself, so I have no difficulty believing that many moderately competent programmers have read them as well. Among the most commonly recommended programming books there is another group that deserves special consideration. Books Programmers Claim to Have Read Introduction to Algorithms (CLRS)This book may have the most misleading title of any programming book ever published.

x-D x-D is a programming language based on smileys, created by tejeez in 2007. Syntax and specification[edit] Every command consists of eyes, mouth and if needed, a nose and another eyes. The eyes determine the pointer to use, the nose the number of repetitions and the mouth the actual command. The number of repetitions or the number to be subtracted or added is determined by the nose. I'm currently so lazy that I just copy the list of different commands from a comment in the source of the interpreter: Any other character (such as a space or newline) is simply ignored, but comments should be begun and ended with # to prevent them from being mistaken as commands. Hello World! Or shorter: See also[edit] Emoticon External resources[edit] An interpreter written in C

Lesson: Object-Oriented Programming Concepts (The Java™ Tutorials > Learning the Java Language) If you've never used an object-oriented programming language before, you'll need to learn a few basic concepts before you can begin writing any code. This lesson will introduce you to objects, classes, inheritance, interfaces, and packages. Each discussion focuses on how these concepts relate to the real world, while simultaneously providing an introduction to the syntax of the Java programming language. What Is an Object? An object is a software bundle of related state and behavior. What Is a Class? A class is a blueprint or prototype from which objects are created. What Is Inheritance? Inheritance provides a powerful and natural mechanism for organizing and structuring your software. What Is an Interface? An interface is a contract between a class and the outside world. What Is a Package? A package is a namespace for organizing classes and interfaces in a logical manner. Questions and Exercises: Object-Oriented Programming Concepts

The Unlambda Programming Language Unlambda: Your Functional Programming Language Nightmares Come True Table of contents What's New in Unlambda World? Introduction What is Unlambda? What does Unlambda look like? What are the principles of Unlambda? Links and meta-links to other obfuscated programming languages Tutorial Functions and application Combinators Abstraction elimination Making abstraction elimination more efficient More Unlambda builtins v d c HOWTO: various programming techniques How do I write a loop in Unlambda? How can I represent numbers in Unlambda? How can I represent lists (and related data structures) in Unlambda? How do I write tests and booleans in Unlambda? A note about the Unlambda Quine Contest Implementing Unlambda First-class functions First-class continuations Garbage collection Promises Can Unlambda be compiled? Unlambda reference Unlambda distribution (download Unlambda here) Comprehensive Unlambda Archive Network (If you don't know what Unlambda is, skip this section and move directly to the introduction below.) Eric S.

If you code HTML, Zen Coding will change your life If you write HTML for a living, and you don't know Zen Coding yet, you are missing out big time. This is basically the coolest thing I've seen all week. I have been using it for a few days now; at first it seemed kind of gimmicky and I wasn't sure I could grasp the syntax, but today I really got to explore it, and woah is it awesome. Okay, I'll stop tripping over myself with excitement over here and try to tell you what this thing does, in a nutshell: It expands abbreviations into complete HTML structures (divs, tables, cells, links, lists), and does it in the most freaking intelligent way I have seen in a long time. I'm serious! For instance, that arcane-looking string of text in the screenshot expands with a single keystroke into this: This thing leaves any other tag-completion method I have ever seen for HTML in the dust. There are existing implementations for multiple editors, such as Komodo Edit (which is the one I'm using). There are easy ways to wrap existing lines with tags.

Bloop Floop And Gloop Programming languages devised by DouglasHofstadter to demonstrate, IIRC, GoedelsIncompletenessTheorem and the ChurchTuringThesis. Hofstadter described them as follows: BlooP, FlooP, and GlooP are not trolls, talking ducks, or the sounds made by a sinking ship -- they are three computer languages, each one with its own special purpose. They belong to that class of languages (?TuringTarpit), such as UnLambdaLanguage, which provide a bare-minimum of facilities while remaining TuringComplete. define procedure ' 'factorial' ' [N]: block 0: begin if N < 0, then: quit block 0; output <= 1; cell(0) <= 0; loop N times: block 1: begin cell(0) <= cell(0) + 1; output <= output * cell(0); block 1: end; block 0: end. The syntax is admittedly verbose, and the facilities are primitive. define procedure ' 'minus' ' [m,n]: block 0: begin if m < n, then: quit block 0; loop at most m + 1 times: block 1: begin if output + n = m, then: abort loop 1; output <= output + 1; block 1: end; block 0: end.

code school Documentation - Octopress Octopress is a framework designed for Jekyll, the static blogging engine powering Github Pages. Have a look through the documentation and if you have trouble, I'll be happy to help. If you find errors in the documentation post an issue or fork and send a pull request to the master branch. Getting Started This section will help you get set up, and explain how to configure Octopress for your site. Initial setup - get source and install dependenciesBasic Configuration - enable third party services and personalize your blog Using Octopress Your blog should be awesome. Blogging Basics - how to create blog posts and pagesDeploying Octopress - simple deploy instructions for Rsync and Github pagesSharing Code Snippets - share code snippets with easeBlogging With Plugins - overview of plugins for bloggingTheming & Customization - guide to making changes to your Octopress themeUpdating Octopress - a guide to help you stay current with Octopress Octopress Plugins - Usage & Examples

Beginning Game Development: Part I – Introduction | Coding4Fun Articles Part I – Introduction Welcome to the first article of an introductory series on game programming using the Microsoft .NET Framework and managed DirectX 9.0. This series as aimed at beginning programmers who are interested in developing a game for their own use with the .NET Framework and DirectX. The goal of this series is to have fun creating a game and learn game development and DirectX along the way. Game programming and DirectX have their own terms and definitions that can be difficult to understand, but after awhile, you’ll crack the code and be able to explore a new world of possibilities. I will keep things as straightforward as possible and decode terms as they appear. In this series, we are going to build a simple game to illustrate the various components of a commercial game. Tools: Before we start writing our first game we need to talk about the tools we will use. The most important tool for any developer is the Integrated Development Environment (IDE). Our Game idea: Visual C#

Underload Underload is a stack-based esoteric programming language that works along similar lines to Muriel. It was created by User:ais523 in 2006. Although not technically speaking a functional language, its evaluation operator ^ (which is the only form of flow control) makes programming in it functional in practice. Reserved characters[edit] The bracket and angle bracket characters []<> are reserved; if these are to appear anywhere in the program, they must be quoted by placing " before them. This also applies to the " character itself. Commands[edit] command : stack before — stack + remaining program after Describe command here. ~ : (x) (y) — (y) (x) Swap the top two elements of the stack. : : (x) — (x) (x) Duplicate the top element of the stack. ! Discard the top element of the stack. * : (x) (y) — (xy) Concatenate the top element of the stack to the end of the second element of the stack. (x) : — (x) Push everything between the ( and the matching ) on top of the stack. a : (x) — ((x)) ^ : (x) — x S : (x) —

Related: