Your Privacy

This site uses cookies to enhance your browsing experience and deliver personalized content. By continuing to use this site, you consent to our use of cookies.
COOKIE POLICY

Skip to main content

Nonsensical Programming

Nonsensical Programming
Back to insights

When it comes to development there is a programming language for every situation.  Languages are optimized for metrics like speed and usability while doing their best to minimize the tradeoffs.  New languages are built from their predecessors, correcting past mistakes and inventing new paradigms.  While these noble languages have produced many solutions in a wide variety of fields, not all languages are created equal.  Some languages shouldn’t be used for any projects.  Esoteric Programming Languages are known to be incredibly complex, unusable and nonsensical.  At the same time, many of these languages are Turing Complete, meaning they can solve any computer problem a regular programming language can.  Let’s look at a few of these impractical monstrosities.

Befunge

Befunge is a stack based language where the goal was to be as difficult to compile as possible.  The code uses arrows to control the program flow where the characters <  ^ v  > point in the direction of the next command to execute.  The code can also modify itself, meaning the app may perform completely differently by the time it terminates.  Here is an example that computes a factorial:

The program starts with user input with the “&” character.  It pushed numbers 5 thru 1 in onto the stack using a “loop”.  Then it loops through the stack again multiplying the values together until it outputs the factorial.  Though the goal of this language was to be as hard as possible to compile, developers like a challenge and several working compilers have been created.  In fact, this language has been extended further in a child language called Funge.  The largest difference is you are no longer limited to a 2-dimensional plane to write your code.  If this code wasn’t already difficult to understand you can now write the directional code in 3 or more dimensions!

Whitespace

Developers have a wide range of preferences when it comes to formatting code.  Many discussions have devolved to vicious arguments over using tabs vs space and how to indent your code.  Most languages will ignore formatting to accommodate personal tastes.  The next language, Whitespace, completely reverses this concept.  The Whitespace programming language ignores everything but spaces, tabs and new lines.  Different combinations of whitespace characters perform different actions in this stack and heap based language. Below is the classic “Hello World!” function in Whitespace:

It’s impossible to read without syntax highlighting and comments, takes many lines to do anything, and extremely difficult to debug.  I wish you the best of luck if you ever attempt to use it.

GolfScript

As you can see these languages tend to be very difficult to read.  It seems like readability is an important and necessary trait for a “real” programming language.  However, every problem is different and sometimes being unreadable can be advantageous.  There is a popular developer game called “Code Golf.”  The object is to write a function to solve a problem as concise as using the fewest amount of characters.  Typically, people would write functions in popular languages like C, JavaScript and Python and took advantage of little-known tricks in the language to produce short code.  However, Code Golf presented an interesting problem and eventually developers created concise programming languages to get better and better scores.  GolfScript is one of these languages, and though esoteric, it has a valid use case.  By using a combination of overloaded operators and very extensive built in functionality, GolfScript creates very concise, hard to read code that is great for Code Golf.  The following prints out the first 1000 digits of PI:

Programming languages come in all shapes and sizes.  Unorthodox languages provide an interesting look at what programming paradigms are possible.  It is fun to mess around with Esoteric Programming Languages to see what unique solutions can be created for simple problems.  Don’t forget, the code might look different but in the end it is all 1s and 0s.

Digging In

  • Digital Products

    Designing For Play and Friction in a Fast-Paced World

    At UDig, play is an integral part of our philosophy. “Having fun” is embedded in our culture, and we always find opportunities to use play to encourage collaboration, ignite creativity, and make room for bold experimentation to build stronger teams and solve problems ranging from the seemingly simple to the most complex. I always have […]

  • Digital Products

    Config 2025 Day Two Recap

    It felt as though Config 2025 ended as soon as it began, and I believe those of us that attended are all the better for it. By the end of the day, various inspirational and informative talks had been given by thought leaders and innovators in the product space. Between sessions, we had the opportunity […]

  • Digital Products

    Inside Config 2025: What’s New in Figma

    Config 2025 kicked off with a bang on Day 1. Figma’s annual conference brings together designers, developers, and all those involved in the making of a product. The 2-day event has a stacked lineup of accomplished speakers ready to share their insights on the world of product building. At today’s opening keynote, the Figma team, […]

  • Digital Products

    Choosing the Right Modernization Approach

    When organizations decide it’s time to modernize their technology infrastructure, choosing the right approach is crucial. Modernization isn’t merely a technical upgrade; it’s a strategic business move that significantly impacts growth, agility, and long-term success. Here’s how your company can effectively begin to select the best modernization strategy tailored to your goals and challenges. In […]

  • Digital Products

    TAG Panel: Differentiate Your Customer Experience

    Join the CX and Product Management Societies to hear from our panel of Human-Centered Design experts on the business value of Agentic AI.

  • Digital Products

    The Bloated SaaS Era: Paying More for Less While Businesses Wait

    SaaS was supposed to make business faster, smarter, and more efficient. Instead, it’s become bloated, expensive, and painfully slow to change. The platforms we rely on—Salesforce, Workday, SAP, and others—haven’t truly innovated in years. Yet, they demand massive investments in re-implementation, process re-engineering, and data migration just to keep up. It’s time to ask: Are […]