{"id":39854,"date":"2026-10-23T06:28:28","date_gmt":"2026-10-23T09:28:28","guid":{"rendered":"https:\/\/statanalytica.com\/blog\/?p=39854"},"modified":"2026-10-23T06:28:29","modified_gmt":"2026-10-23T09:28:29","slug":"whitespace-programming-language","status":"publish","type":"post","link":"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/","title":{"rendered":"Whitespace Programming Language: Features, Code &amp; Examples"},"content":{"rendered":"\n<p>Have you ever opened a code file and wondered if it was empty? In the whitespace programming language, that is exactly what it&#8217;s all about. There is a code there but you&#8217;re not seeing it. All instructions consist of spaces, tabs and line breaks, and any other text is ignored and considered a comment. Weird, right?<\/p>\n\n\n\n<p>It&#8217;s hilarious really and started out as a joke. However, the whitespace programming language is a truly real and functional language and it&#8217;s possible to write real programs in it. It&#8217;s one of those obscure tongues that makes you marvel at the meaning of \u201ccode.\u201d<\/p>\n\n\n\n<p>In this article I will explain about it, how it works, and its primary components. We&#8217;ll take a look at some examples of code, such as: Hello World and I&#8217;ll let you know which interpreters you can use to run your own programs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"what-is-the-whitespace-programming-language-description\"><\/span><strong>What Is the Whitespace Programming Language? (Description)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6adb4919c5d02\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ff5104;color:#ff5104\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ff5104;color:#ff5104\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6adb4919c5d02\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#what-is-the-whitespace-programming-language-description\" >What Is the Whitespace Programming Language? (Description)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#history-and-origin-of-the-whitespace-programming-language\" >History and Origin of the Whitespace Programming Language<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#key-features-of-the-whitespace-programming-language\" >Key Features of the Whitespace Programming Language<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#how-whitespace-programming-language-code-works\" >How Whitespace Programming Language Code Works<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#whitespace-programming-language-hello-world-example\" >Whitespace Programming Language Hello World Example<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#whitespace-programming-language-interpreter-tools-to-run-code\" >Whitespace Programming Language Interpreter: Tools to Run Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#advantages-and-limitations-of-the-whitespace-programming-language\" >Advantages and Limitations of the Whitespace Programming Language<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#is-whitespace-a-good-language-for-learning-programming-concepts\" >Is Whitespace a Good Language for Learning Programming Concepts?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#final-thoughts\" >Final Thoughts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#faqs\" >FAQs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#1-is-whitespace-a-real-programming-language\" >1. Is Whitespace a real programming language?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#2-is-whitespace-turing-complete\" >2. Is Whitespace Turing complete?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#3-how-do-i-run-whitespace-code\" >3. How do I run Whitespace code?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/statanalytica.com\/blog\/whitespace-programming-language\/#4-who-created-whitespace\" >4. Who created Whitespace?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p>So, what exactly is the whitespace programming language? In other words, it is a secret language with only 3 characters that are significant: space, tab, and linefeed (new line). It&#8217;s only those three that are the whole vocabulary. Anything else that you type (letters, numbers, symbols) is ignored altogether.<\/p>\n\n\n\n<p>The cool part is that and the annoying part is that. Because the computer doesn&#8217;t read the text that is visible, it is possible to hide a working program in a normal looking document. Just put notes for yourself in the middle of your code and there are no breaks.<\/p>\n\n\n\n<p>To remember the description of the whitespace programming language, it&#8217;s code you can&#8217;t see. Well, no one really uses it for actual projects, anyway. It&#8217;s more of a fun, puzzles and learning how languages actually work under the hood.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"history-and-origin-of-the-whitespace-programming-language\"><\/span><strong>History and Origin of the Whitespace Programming Language<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The whitespace programming language was developed by Edwin Brady and Chris Morris of the University of Durham, UK. The day they released it was April 1, 2003, April Fools&#8217; Day, so that&#8217;s a pretty good gauge of how seriously they took the idea the first time they had it.<\/p>\n\n\n\n<p>The inspiration was pretty simple. A lot of languages have lots of syntax visible, such as brackets, semicolons, keywords, etc. So, they turned it around and thought, \u201cWhat if the visible stuff wasn&#8217;t even that important? The first one was even written in Haskell!<\/p>\n\n\n\n<p>It is compatible with other esoteric programming languages, such as Befunge, Malbolge and Brainf*ck. All of them were not practical. They&#8217;re designed to be weird and to demonstrate the minimal requirements of a language.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"key-features-of-the-whitespace-programming-language\"><\/span><strong>Key Features of the Whitespace Programming Language<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In this regard, the whitespace programming language is different from all other languages:<\/p>\n\n\n\n<p><strong>1. Only three characters count:<\/strong> Space, tab, and linefeed. So much of the syntax isn&#8217;t very complex, and that was the whole thing when you consider it.<\/p>\n\n\n\n<p><strong>2. Stack-based:<\/strong> A lot of work is done on the stack. You push numbers on, pop numbers off and perform math on the numbers on top.<\/p>\n\n\n\n<p><strong>3. Heap access:<\/strong> You have a heap in addition to a stack and you can store values there and retrieve them after. It&#8217;s convenient for anything of a size.<\/p>\n\n\n\n<p><strong>4. Imperative style:<\/strong> You give the computer instructions, one after another, in order. Nothing fancy there.<\/p>\n\n\n\n<p><strong>5. Turing complete:<\/strong> It can do anything a \u201cnormal\u201d language can, strange as it may look. But it takes a lot more work.<\/p>\n\n\n\n<p><strong>6. Comments anywhere:<\/strong> Any text that&#8217;s visible is ignored, so you can drop notes anywhere in your code.<\/p>\n\n\n\n<p><strong>7. Binary numbers with a sign bit:<\/strong> The numbers are represented in binary with spaces and tabs, with the first character indicating whether the number is positive or negative.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-background has-fixed-layout\" style=\"background:linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 100%,rgb(51,167,181) 100%)\"><tbody><tr><td><strong>Also Read:<\/strong> <em>Want to explore languages that are actually worth your time? Check out our guide on the<\/em><a href=\"https:\/\/statanalytica.com\/blog\/most-useful-programming-languages-to-learn\/\" target=\"_blank\" rel=\"noreferrer noopener\"><em> most useful programming languages to learn<\/em><\/a>.\u00a0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"how-whitespace-programming-language-code-works\"><\/span><strong>How Whitespace Programming Language Code Works<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>All of the instructions in the whitespace programming language begin with a short prefix known as an IMP (Instruction Modification Parameter). It basically provides the computer information about the command that will follow. Next, a couple more characters whittle it down to the specific action.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Category&nbsp;<\/strong><\/td><td><strong>IMP&nbsp;<\/strong><\/td><\/tr><tr><td>Stack manipulation&nbsp;<\/td><td>Space&nbsp;<\/td><\/tr><tr><td>Arithmetic&nbsp;<\/td><td>Tab Space&nbsp;<\/td><\/tr><tr><td>Heap access&nbsp;<\/td><td>Tab Tab&nbsp;<\/td><\/tr><tr><td>Flow control&nbsp;<\/td><td>Linefeed&nbsp;<\/td><\/tr><tr><td>Input\/Output&nbsp;<\/td><td>Tab Linefeed&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Numbers are represented in the binary system. The sign is the first character (space for positive, tab for negative) and space = 0, tab = 1. The number ends with a linefeed. Label statements and labels for jumps and loops are the same: a string of spaces and tabs followed by a linefeed.<\/p>\n\n\n\n<p>In fact, nobody can read raw whitespace so people tend to include S (space), T (tab), and L (linefeed). If you push the number 5 onto the stack, this would be S S S T S T L.<\/p>\n\n\n\n<p>A few tips that\u2019ll save you some headaches:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Write in S\/T\/L and then convert.<\/li>\n\n\n\n<li>Enable the \u201cshow whitespace\u201d option in your editor.<\/li>\n\n\n\n<li>Put visible comments to avoid losing your way.<\/li>\n\n\n\n<li>Keep programs tiny. Seriously.<\/li>\n<\/ul>\n\n\n\n<p>If you understand the pattern, the whitespace programming language is not so intimidating as it seems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"whitespace-programming-language-hello-world-example\"><\/span><strong>Whitespace Programming Language Hello World Example<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>It&#8217;s time for the old-fashioned. There&#8217;s one simple pattern in a whitespace programming language Hello World program: push ASCII code of character on the stack, print, repeat. When you\u2019re done, end the program.<\/p>\n\n\n\n<p>These are the three instructions you have to use (in S\/T\/L form):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Push a number:<\/strong> S S + sign + binary + L<\/li>\n\n\n\n<li><strong>Print a character:<\/strong> T L S S<\/li>\n\n\n\n<li><strong>End the program:<\/strong> L L L<\/li>\n<\/ul>\n\n\n\n<p>Let&#8217;s construct the letter &#8220;H&#8221;. Its ASCII code is 72, which is 1001000 in binary. Space is 0 and Tab is 1, therefore it is:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>S S S T S S T S S S L \u00a0 (push 72)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (print it as &#8220;H&#8221;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The first S S means \u201cpush\u201d, the third S is the positive sign, T S S T S S S is the binary for 72, and L closes the number.<\/p>\n\n\n\n<p>Now here\u2019s the full \u201cHello\u201d in S\/T\/L:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>S S S T S S T S S S L \u00a0 push 72 (H)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print<br>S S S T T S S T S T L \u00a0 push 101 (e)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print<br>S S S T T S T T S S L \u00a0 push 108 (l)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print<br>S S S T T S T T S S L \u00a0 push 108 (l)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print<br>S S S T T S T T T T L \u00a0 push 111 (o)<br>T L S S \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 print<br>L L L \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 end<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Expected output: Hello<\/p>\n\n\n\n<p>If you want to write the whole \u201cHello, World!\u201d, you simply continue to add the ASCII codes of the characters. Two lines repeated and repeated and repeated \u2014 that&#8217;s the whitespace programming language for you \u2014 and it gets long.<\/p>\n\n\n\n<p>To execute it, change the S, T, and L to the actual spaces, tabs, and line breaks, and then copy and paste it into an interpreter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"whitespace-programming-language-interpreter-tools-to-run-code\"><\/span><strong>Whitespace Programming Language Interpreter: Tools to Run Code<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>An interpreter is simply a program that reads the code and executes it, line by line. It&#8217;s necessary because your computer cannot tell what to do with a file in which every line contains spaces and tabs. If it&#8217;s not translated into a whitespace programming language, your whitespace programming language code is just a blank page.<\/p>\n\n\n\n<p>The good news is you\u2019ve got options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Online interpreters:<\/strong> The most convenient way to begin is to get an online interpreter. Try It Online (tio.run) is compatible with Whitespace, and there is a web-based Whitespace IDE to step through and watch the stack change. Paste, run, done.<\/li>\n\n\n\n<li><strong>The original Haskell interpreter:<\/strong> Edwin Brady wrote it, which is where things began.<\/li>\n\n\n\n<li><strong>Python, C, and JavaScript versions:<\/strong> There are many of these that have been developed in Python, C and <a href=\"https:\/\/www.w3schools.com\/js\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a> versions. You&#8217;ll find them by doing a quick Google search on GitHub.<\/li>\n<\/ul>\n\n\n\n<p>Here\u2019s how to run your first program:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Your code should be written in S\/T\/L first.<\/li>\n\n\n\n<li>Replace S, T, L with real spaces, tabs, and line breaks.<\/li>\n\n\n\n<li>Copy and paste it in the interpreter.<\/li>\n\n\n\n<li>Try run and see<\/li>\n<\/ol>\n\n\n\n<p>One tip: use \u201cshow whitespace\u201d in your editor. Some editors will edit tabs to spaces without being told, and this will silently destroy everything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"advantages-and-limitations-of-the-whitespace-programming-language\"><\/span><strong>Advantages and Limitations of the Whitespace Programming Language<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Come on guys, no one chooses this language for a serious project. There are some actually good benefits to it, and some obvious drawbacks.<\/p>\n\n\n\n<p><strong>Advantages<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Great for learning:<\/strong> You have to build all of this from scratch using a stack and simple jumps, so you begin to see how the programs really work under the hood.<\/li>\n\n\n\n<li><strong>Fun and creative:<\/strong> It&#8217;s a good brain puzzle. Feeling like writing a small program is a small victory..<\/li>\n\n\n\n<li><strong>A new way to see syntax:<\/strong> It demonstrates how little it takes for a language to work, and that&#8217;s quite an eye opener.<\/li>\n<\/ul>\n\n\n\n<p><strong>Limitations<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Unreadable:<\/strong> Cannot read and comprehend code. Not even a little.<\/li>\n\n\n\n<li><strong>Hard to debug:<\/strong> One missing space or a tab your editor didn&#8217;t notice and you&#8217;re left with no idea what went wrong.<\/li>\n\n\n\n<li><strong>Not practical:<\/strong> No true library support, it&#8217;s too slow to write anything useful. Real projects are out of the question.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"is-whitespace-a-good-language-for-learning-programming-concepts\"><\/span><strong>Is Whitespace a Good Language for Learning Programming Concepts?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In a nutshell, it&#8217;s yes, but not as a first language. If you are a novice programmer, begin with a language such as Python. If you have white space just before you learn, you will just get frustrated.<\/p>\n\n\n\n<p>Once you understand the fundamentals though, it&#8217;s a cool way to check out under the hood. You are not given a variables or loops to work with. Pushes values onto a stack, pops them off and uses labels and jumps to construct your own loops. Well, it&#8217;s pretty much like assembling but you get a feel for low-level thinking.<\/p>\n\n\n\n<p>The difficulty is debugging. If you click on the wrong tab, you&#8217;ll end up only seeing the invisible characters. So don&#8217;t use it as a learning path, it&#8217;s a fun side project, just for the brain to stretch.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"final-thoughts\"><\/span><strong>Final Thoughts<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>That&#8217;s the short version of whitespace programming language. It&#8217;s weird, a bit goofy and, come to think of it, sort of fun when you master it. Now you&#8217;ve learned how it works, what its features are, and how to write a Hello World with spaces, tabs and line breaks only.<\/p>\n\n\n\n<p>Do you intend to use it in your job? Probably not. Playing with whitespace is a good way to work your brain, and understand the essence of code. Use an interpreter to do an example of Hello World and see if you can make some changes to it yourself.<\/p>\n\n\n\n<p>But if you find yourself in a coding dilemma, or just need more programming guides, look at the other resources on Statanalytica. We&#8217;re here to help!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"faqs\"><\/span><strong>FAQs<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1792747545630\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"1-is-whitespace-a-real-programming-language\"><\/span><strong>1. Is Whitespace a real programming language?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, it is it and it is working! It was designed to be a joke in 2003, but programs can be written and executed in it by using an interpreter.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792747561539\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"2-is-whitespace-turing-complete\"><\/span><strong>2. Is Whitespace Turing complete?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, it is. Although it is composed of only spaces, tabs, and line breaks, it is capable of calculating anything that a normal language can. Just requires more work.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792747571961\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"3-how-do-i-run-whitespace-code\"><\/span><strong>3. How do I run Whitespace code?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>An interpreter is required. You can copy and paste it into an online one such as tio.run or use a Python, C or JavaScript version on your own computer.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1792747585874\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"4-who-created-whitespace\"><\/span><strong>4. Who created Whitespace?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>It is developed by Edwin Brady and Chris Morris, from the University of Durham. It was their April Fools&#8217; Day release on April 1, 2003.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Have you ever opened a code file and wondered if it was empty? In the whitespace programming language, that is exactly what it&#8217;s all about. There is a code there but you&#8217;re not seeing it. All instructions consist of spaces, tabs and line breaks, and any other text is ignored and considered a comment. Weird, [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":39857,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[138],"tags":[6638,6641,6637,6639,6642,6640,6643],"class_list":["post-39854","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming","tag-whitespace-programming-language-code","tag-whitespace-programming-language-code-example","tag-whitespace-programming-language-description","tag-whitespace-programming-language-example","tag-whitespace-programming-language-features","tag-whitespace-programming-language-hello-world","tag-whitespace-programming-language-interpreter"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/posts\/39854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/comments?post=39854"}],"version-history":[{"count":2,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/posts\/39854\/revisions"}],"predecessor-version":[{"id":39858,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/posts\/39854\/revisions\/39858"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/media\/39857"}],"wp:attachment":[{"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/media?parent=39854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/categories?post=39854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statanalytica.com\/blog\/wp-json\/wp\/v2\/tags?post=39854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}