409
\$\begingroup\$

So... uh... this is a bit embarrassing. But we don't have a plain "Hello, World!" challenge yet (despite having 35 variants tagged with , and counting). While this is not the most interesting code golf in the common languages, finding the shortest solution in certain esolangs can be a serious challenge. For instance, to my knowledge it is not known whether the shortest possible Brainfuck solution has been found yet.

Furthermore, while all of Wikipedia (the Wikipedia entry has been deleted but there is a copy at archive.org ), esolangs and Rosetta Code have lists of "Hello, World!" programs, none of these are interested in having the shortest for each language (there is also this GitHub repository). If we want to be a significant site in the code golf community, I think we should try and create the ultimate catalogue of shortest "Hello, World!" programs (similar to how our basic quine challenge contains some of the shortest known quines in various languages). So let's do this!

The Rules

  • Each submission must be a full program.
  • The program must take no input, and print Hello, World! to STDOUT (this exact byte stream, including capitalization and punctuation) plus an optional trailing newline, and nothing else.
  • The program must not write anything to STDERR.
  • If anyone wants to abuse this by creating a language where the empty program prints Hello, World!, then congrats, they just paved the way for a very boring answer.

    Note that there must be an interpreter so the submission can be tested. It is allowed (and even encouraged) to write this interpreter yourself for a previously unimplemented language.

  • Submissions are scored in bytes, in an appropriate (pre-existing) encoding, usually (but not necessarily) UTF-8. Some languages, like Folders, are a bit tricky to score - if in doubt, please ask on Meta.
  • This is not about finding the language with the shortest "Hello, World!" program. This is about finding the shortest "Hello, World!" program in every language. Therefore, I will not mark any answer as "accepted".
  • If your language of choice is a trivial variant of another (potentially more popular) language which already has an answer (think BASIC or SQL dialects, Unix shells or trivial Brainfuck-derivatives like Alphuck), consider adding a note to the existing answer that the same or a very similar solution is also the shortest in the other language.

As a side note, please don't downvote boring (but valid) answers in languages where there is not much to golf - these are still useful to this question as it tries to compile a catalogue as complete as possible. However, do primarily upvote answers in languages where the authors actually had to put effort into golfing the code.

For inspiration, check the Hello World Collection.

The Catalogue

The Stack Snippet at the bottom of this post generates the catalogue from the answers a) as a list of shortest solution per language and b) as an overall leaderboard.

To make sure that your answer shows up, please start your answer with a headline, using the following Markdown template:

## Language Name, N bytes

where N is the size of your submission. If you improve your score, you can keep old scores in the headline, by striking them through. For instance:

## Ruby, <s>104</s> <s>101</s> 96 bytes

If there you want to include multiple numbers in your header (e.g. because your score is the sum of two files or you want to list interpreter flag penalties separately), make sure that the actual score is the last number in the header:

## Perl, 43 + 2 (-p flag) = 45 bytes

You can also make the language name a link which will then show up in the snippet:

## [><>](https://esolangs.org/wiki/Fish), 121 bytes

/* Configuration */

var QUESTION_ID = 55422; // Obtain this from the url
// It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 8478; // This should be the user ID of the challenge author.

/* App */

var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page;

function answersUrl(index) {
  return "https://api.stackexchange.com/2.2/questions/" +  QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER;
}

function commentUrl(index, answers) {
  return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER;
}

function getAnswers() {
  jQuery.ajax({
    url: answersUrl(answer_page++),
    method: "get",
    dataType: "jsonp",
    crossDomain: true,
    success: function (data) {
      answers.push.apply(answers, data.items);
      answers_hash = [];
      answer_ids = [];
      data.items.forEach(function(a) {
        a.comments = [];
        var id = +a.share_link.match(/\d+/);
        answer_ids.push(id);
        answers_hash[id] = a;
      });
      if (!data.has_more) more_answers = false;
      comment_page = 1;
      getComments();
    }
  });
}

function getComments() {
  jQuery.ajax({
    url: commentUrl(comment_page++, answer_ids),
    method: "get",
    dataType: "jsonp",
    crossDomain: true,
    success: function (data) {
      data.items.forEach(function(c) {
        if (c.owner.user_id === OVERRIDE_USER)
          answers_hash[c.post_id].comments.push(c);
      });
      if (data.has_more) getComments();
      else if (more_answers) getAnswers();
      else process();
    }
  });  
}

getAnswers();

var SCORE_REG = /<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;

var OVERRIDE_REG = /^Override\s*header:\s*/i;

function getAuthorName(a) {
  return a.owner.display_name;
}

function process() {
  var valid = [];
  
  answers.forEach(function(a) {
    var body = a.body;
    a.comments.forEach(function(c) {
      if(OVERRIDE_REG.test(c.body))
        body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>';
    });
    
    var match = body.match(SCORE_REG);
    if (match)
      valid.push({
        user: getAuthorName(a),
        size: +match[2],
        language: match[1],
        link: a.share_link,
      });
    else console.log(body);
  });
  
  valid.sort(function (a, b) {
    var aB = a.size,
        bB = b.size;
    return aB - bB
  });

  var languages = {};
  var place = 1;
  var lastSize = null;
  var lastPlace = 1;
  valid.forEach(function (a) {
    if (a.size != lastSize)
      lastPlace = place;
    lastSize = a.size;
    ++place;
    
    var answer = jQuery("#answer-template").html();
    answer = answer.replace("{{PLACE}}", lastPlace + ".")
                   .replace("{{NAME}}", a.user)
                   .replace("{{LANGUAGE}}", a.language)
                   .replace("{{SIZE}}", a.size)
                   .replace("{{LINK}}", a.link);
    answer = jQuery(answer);
    jQuery("#answers").append(answer);

    var lang = a.language;
    lang = jQuery('<a>'+lang+'</a>').text();
    
    languages[lang] = languages[lang] || {lang: a.language, lang_raw: lang, user: a.user, size: a.size, link: a.link};
  });

  var langs = [];
  for (var lang in languages)
    if (languages.hasOwnProperty(lang))
      langs.push(languages[lang]);

  langs.sort(function (a, b) {
    if (a.lang_raw.toLowerCase() > b.lang_raw.toLowerCase()) return 1;
    if (a.lang_raw.toLowerCase() < b.lang_raw.toLowerCase()) return -1;
    return 0;
  });

  for (var i = 0; i < langs.length; ++i)
  {
    var language = jQuery("#language-template").html();
    var lang = langs[i];
    language = language.replace("{{LANGUAGE}}", lang.lang)
                       .replace("{{NAME}}", lang.user)
                       .replace("{{SIZE}}", lang.size)
                       .replace("{{LINK}}", lang.link);
    language = jQuery(language);
    jQuery("#languages").append(language);
  }

}
body {
  text-align: left !important;
  display: block !important;
}

#answer-list {
  padding: 10px;
  width: 290px;
  float: left;
}

#language-list {
  padding: 10px;
  width: 500px;
  float: left;
}

table thead {
  font-weight: bold;
}

table td {
  padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/codegolf/all.css?v=ffb5d0584c5f">
<div id="language-list">
  <h2>Shortest Solution by Language</h2>
  <table class="language-list">
    <thead>
      <tr><td>Language</td><td>User</td><td>Score</td></tr>
    </thead>
    <tbody id="languages">

    </tbody>
  </table>
</div>
<div id="answer-list">
  <h2>Leaderboard</h2>
  <table class="answer-list">
    <thead>
      <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr>
    </thead>
    <tbody id="answers">

    </tbody>
  </table>
</div>
<table style="display: none">
  <tbody id="answer-template">
    <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr>
  </tbody>
</table>
<table style="display: none">
  <tbody id="language-template">
    <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr>
  </tbody>
</table>

\$\endgroup\$
  • 1
    \$\begingroup\$ Must the language meet our usual requirements for what a programming language is, or are we operating by kolmogorov complexity rules? \$\endgroup\$ – isaacg Aug 28 '15 at 13:54
  • 2
    \$\begingroup\$ @isaacg No it doesn't. I think there would be some interesting languages where it's not obvious whether primality testing is possible. \$\endgroup\$ – Martin Ender Aug 28 '15 at 13:56
  • 6
    \$\begingroup\$ If the same program, such as "Hello, World!", is the shortest in many different and unrelated languages, should it be posted separately? \$\endgroup\$ – aditsu Aug 28 '15 at 15:33
  • 2
    \$\begingroup\$ @mbomb007 Well it's hidden by default because the three code blocks take up a lot of space. I could minify them so that they are a single line each, but I'd rather keep the code maintainable in case bugs come up. \$\endgroup\$ – Martin Ender Aug 28 '15 at 19:34
  • 7
    \$\begingroup\$ @ETHproductions "Unlike our usual rules, feel free to use a language (or language version) even if it's newer than this challenge." Publishing the language and an implementation before posting it would definitely be helpful though. \$\endgroup\$ – Martin Ender Aug 29 '15 at 23:01

748 Answers 748

0
\$\begingroup\$

Deorst, 15 bytes

'Hello, World!'

Try it online!

Yay for implicit output!

\$\endgroup\$
0
\$\begingroup\$

Recursiva, 15 14 bytes

"Hello, World!

Try it online!

This can also be done by explicitly using Por Print operator:

Recursiva, 16 bytes

P"Hello, World!"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Рапира (Rapira), 57 26 22 bytes

OUTPUT:"Hello, World!"

Try it online!

Or, more appropriately, (33 bytes):

ВЫВОД:"Привет Мир!"
\$\endgroup\$
  • \$\begingroup\$ As far as I can tell, this defines a procedure without calling it, which violates the full program requirement. A simple output:"Hello, World!" works though. \$\endgroup\$ – Dennis Oct 12 '17 at 14:39
  • \$\begingroup\$ @Dennis Okay. That saves 30 bytes, too! \$\endgroup\$ – KSmarts Oct 12 '17 at 17:37
  • \$\begingroup\$ The English version without the space is 4 bytes shorter... \$\endgroup\$ – Dennis Oct 12 '17 at 17:38
  • \$\begingroup\$ @Dennis If you're going to use English, why bother using Рапира? \$\endgroup\$ – KSmarts Oct 12 '17 at 17:49
0
\$\begingroup\$

Add++, 70 20 bytes

D,f,,"Hello, World!"

Try it online!

Simple function, implicit call and return. You can see the revision history for the old version.

\$\endgroup\$
  • \$\begingroup\$ 17? \$\endgroup\$ – ASCII-only Apr 25 '18 at 6:19
0
\$\begingroup\$

Spaced, 91 bytes

(q="Helo, Wrd!")[1]+q[3]+q[5]+q[5]+q[7]+q[9]+q[9+2]+q[9+4]+q[7]+q[9+6]+q[5]+q[9+8]+q[9+9+1]

Try it online!

\$\endgroup\$
  • 1
    \$\begingroup\$ Welcome to the site! Out of curiosity, do you have anything to do with this user? \$\endgroup\$ – caird coinheringaahing Nov 8 '17 at 20:38
  • 1
    \$\begingroup\$ Thanks! No, we just happen to have the same brand of humor. \$\endgroup\$ – user75917 Nov 8 '17 at 22:05
  • 1
    \$\begingroup\$ That is really funny though \$\endgroup\$ – user75917 Nov 9 '17 at 15:01
  • \$\begingroup\$ Apparently, this is exactly the same as the default Hello World code on TIO. \$\endgroup\$ – user202729 Nov 12 '17 at 4:07
  • \$\begingroup\$ yup, that would be the hello world I wrote for spaced @user202729 \$\endgroup\$ – Conor O'Brien Oct 29 '18 at 2:57
0
\$\begingroup\$

Brain-Flak, 448 bytes

((()()()()()()()()()()())({}){})
((()()()()()()()()()())({})({})({})({})({})({})({})({}){})
(([][][][][][])({})({})({})({})({})({})({}){})
(([][][][][][]())({})({})({})({}){})
(([][][]()())({})({})({})({})({})({}){}[()])
(([][][][])({})({})({})({}){}[()])
(([]()())({})({}){})
(([]()()()())({})({}){})
(([]()()())({})({})({})({})({})({})({})({}){}())
((([]()()())({})({})({})({})({})({})({}){}))
(([][][()()])({})({})({}){}())
([]()())(({})({})({})({}){}()())

Try it online!

Newlines added for clarity

\$\endgroup\$
0
\$\begingroup\$

Flipbit, 148 bytes

>^>>>^>>>.^<<^<^<<^>>>>>.^<<<^>>>..^<^>.^<^<<<<<^>>>>>>.<<^<^>>>.^<^<^<<^<^<^>>>>>>.<<<^<^<^>>>>>.^<<^<^<^>>>>.<^<^<^<^>>>>.<<<^>>>.^<<^<<<<^>>>>>>.

Try it online!

I love explaining things :P

How it works

Flipbit uses an infinite tape, consisting of either a 1 or a 0 per cell. The way it outputs is getting all previous elements in the tape, converting that from binary, then indexing into Unicode.

complete code walk through coming

\$\endgroup\$
0
\$\begingroup\$

Implicit, 15 14 bytes

«Hello, World!

Pretty simple. « opens a string, implicit closing ». Implicit output.

Try it online!

\$\endgroup\$
  • \$\begingroup\$ 14 bytes \$\endgroup\$ – caird coinheringaahing Nov 5 '17 at 17:07
  • \$\begingroup\$ @cairdcoinheringaahing is the trailing newline not necessary? \$\endgroup\$ – MD XF Nov 5 '17 at 21:12
  • \$\begingroup\$ Apparently not, according to TIO \$\endgroup\$ – caird coinheringaahing Nov 5 '17 at 21:14
  • \$\begingroup\$ @cairdcoinheringaahing I mean according to the challenge spec. It wants a newline. \$\endgroup\$ – MD XF Nov 5 '17 at 22:55
  • \$\begingroup\$ From the question: "optional trailing newline" \$\endgroup\$ – caird coinheringaahing Nov 5 '17 at 23:11
0
\$\begingroup\$

NotQuiteThere, 17 bytes

'Hello, World!'-1

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Whispers, 29 bytes

> "Hello, World!"
>> Output 1

Try it online!

An even newer language than Verbosity.

How it works

> "Hello, World!" - Line 1
>                 - Yield a constant value, which is...
  "Hello, World!" -   The string "Hello, World!"

>> Output 1       - Line 2
>>                - Replace numbers with line references
   Output         - Output the value...
          1       - ...on line 1
\$\endgroup\$
0
\$\begingroup\$

SNOBOL4 (CSNOBOL4), 29 28 bytes

 OUTPUT ='Hello, World!'
END

Try it online!

Thanks to Ørjan Johansen for saving a byte!

\$\endgroup\$
  • \$\begingroup\$ The space after = can be removed. \$\endgroup\$ – Ørjan Johansen Dec 11 '17 at 20:09
0
\$\begingroup\$

Assembunny, 100 bytes

out 72
out 101
out 108
out 108
out 111
out 44
out 32
out 119
out 111
out 114
out 108
out 100
out 33

I think I could have miscounted.

Explanation

This code uses the extra signal generator instruction out x from day 25 for output.

This is the output:

  Dec  72 101 108 108 111  44  32 119 111 114 108 100  33
  Hex  48  65  6C  6C  6F  2C  20  77  6F  72  6C  64  21
ASCII   H   e   l   l   o   ,       w   o   r   l   d   !
\$\endgroup\$
0
\$\begingroup\$

uBASIC, 17 bytes

0?"Hello, World!"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Yabasic, 16 bytes

May there always be BASIC in this world!

?"Hello, World!"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

MY-BASIC, 20 bytes

Print"Hello, World!"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Commentator, 197 bytes

         {-        -}!/*{-{-           {-         -}!  /*       /*/*   /*-}-}#    {-   -}!/*{- e#-}///*{-e#-}//{-#  -}!{-# e#-}///*{-{-/*   /*{-e#-}//   /*-}-}             /*#   {-            -}!/*

Try it online!

I'm genuinely surprised it took me this long to make a somewhat golfed Hello, World! program in Commentator.

\$\endgroup\$
0
\$\begingroup\$

17, 71

777{44 $ 5g $ 66 : : $ $ 69 : $ 1f $ 52 $ $ 6c $ $ 5f $ 1g $ a $ 0 @}

Explantation:

Pushes ascii values for Hello World!(in base 17). Then store 17 at 0, to make it exit by relying on the fact that if it tries to pop at number and the stack is empty it return 17 to save two characters.

\$\endgroup\$
0
\$\begingroup\$

Unnamed, 14 Bytes

Unnamed is an unfinished language, only custom output is supported at the time of posting this. But it works.

!Hello, World!   

Explanation

! -> user specified output
Hello, World -> string
\$\endgroup\$
  • \$\begingroup\$ I'm reviewing this as Looks OK because in this challenge, there's no such thing as notability. \$\endgroup\$ – Nissa May 6 '18 at 0:56
0
\$\begingroup\$

TapeBagel, 511 bytes

%% %++ %++ %++ %++ %++ %++ %++ %++ @* ## %++ %++ %++ %++ %++ @* ## %++
%++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ @* @* ## %++ %++ %++ %++
%++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ @* ## @* %++ %++ %++ %++
%++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++
%++ %++ @* ## %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++
%++ %++ @* ## %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++ %++
%++ %++ %++ %++ %++ @* ##  %++ %++ %++ %++ %++ %++ %++ %++ %++ %++
%++ %++ @* ## %++ %++ %++ %++ @* ##

%# - adds one to the integer index.

%% - resets the integer index to zero.

%& - the integer that the integer index is pointing to is inputted into the program.

#% - sets all of the integers to one.

## - resets all of the integers to zero.

&& - pauses the program.

&@ - clears the screen.

%++ - adds one to the integer that the integer index is pointing to

@[ int ] - outputs the integer as a character (1 = A, 2 = B, ... 26 = Z)

* - integer 0

\$\endgroup\$
0
\$\begingroup\$

Sisi, 21 bytes

0print"Hello, World!"

Try it online!

\$\endgroup\$
0
\$\begingroup\$

+-=*/!&#, 64 Bytes

!!!!!!!++*!!!-*!---**+++*/!!!++*!!!!!+++++*!!++++*+++*&++++*&++*

This programming language was actually made by me on November 30th, and it's only useful for printing stuff. See here.

\$\endgroup\$
  • \$\begingroup\$ If it's only useful for printing stuff, then it's not a programming language \$\endgroup\$ – ASCII-only Dec 25 '18 at 23:56
0
\$\begingroup\$

C# (Visual C# Interactive Compiler), 22 bytes

Write("Hello, World!")

Try it online!

I realize this question has an existing C# answer which presumably uses the traditional csc.exe compiler. This answers uses the csi.exe command-line REPL.

\$\endgroup\$
0
\$\begingroup\$

JVM bytecode (OpenJDK asmtools JASM), 235 bytes

public class h {public static Method main:"([Ljava/lang/String;)V" stack 2 locals 1 {getstatic java/lang/System.out:"Ljava/io/PrintStream;";ldc "Hello, World!";invokevirtual java/io/PrintStream.println:"(Ljava/lang/String;)V";return;}}

Ungolfed

public class h {
    public static Method main:"([Ljava/lang/String;)V" stack 2 locals 1 {
        getstatic java/lang/System.out:"Ljava/io/PrintStream;";
        ldc "Hello, World!";
        invokevirtual java/io/PrintStream.println:"(Ljava/lang/String;)V";
        return;
    }
}

Pretty much the same thing as Jasmin, just with a different syntax.

\$\endgroup\$
0
\$\begingroup\$

Scala, 63 bytes

object Main{def main(a:Array[String])=print("Hello, World!")}

Try it online!

\$\endgroup\$
  • \$\begingroup\$ an existing answer is shorter \$\endgroup\$ – ASCII-only May 4 at 2:14
  • \$\begingroup\$ That shorter answer doesn't work in tio. One of the requirements in this particular assignment was that each submission must be a full program. \$\endgroup\$ – Peter May 4 at 5:50
  • \$\begingroup\$ Also, that answer has extra \n in the string. \$\endgroup\$ – Peter May 4 at 5:57
  • \$\begingroup\$ The shorter one, sure. But not the longer one, which is still shorter than yours. Plus, yours is the one with extra newline, and incorrect capitalization for the W :| \$\endgroup\$ – ASCII-only May 4 at 10:08
  • \$\begingroup\$ You are right, that answer is better and provides full version that works in tio. \$\endgroup\$ – Peter May 4 at 17:52
0
\$\begingroup\$

33, 16 bytes

"Hello, World!"p

But that's boring, isn't it? Let's try with functions, instead.

56 bytes

{"Hello"p}'Hello'{", "p}', '{"World"p}'World'{"!"pi}qqqq

Here's something to be explained.

The string registers are initialised to "" when the interpreter starts. When the interpreter encounters a {, it copies all the code until the matching } and stores it as a function, labelled as what the destination string register was at the time (The destination string is set by single quotes).

Changes to the registers persist when changing stack frames (is that the right term?), so the explanation looks like this:

{                                                         (Creates function "")
  "Hello"                                                 (Stores "Hello" in the source string register)
         p                                                (Prints what is in the source string register)
          }'Hello'{                                       (Creates function "Hello")
                   ", "p                                  (Prints ", " after storing it in the source string register)
                        }', '{                            (Creates function ", ")
                              "World"p                    (Prints "World" after storing it in the source string register)
                                      }'World'{           (Creates function "World")
                                               "!"p       (Prints "!")
                                                   i      (Prints a newline)
                                                    }q    (Calls function "")
                                                      q   (Calls function "Hello")
                                                       q  (Calls function ", ")
                                                        q (Calls function "World")

This is a language I created. The source is in the link. I haven't made a Windows release of the interpreter yet, because I cannot figure out how to cross-compile. If you're on Windows, you'll have to compile it yourself.

\$\endgroup\$
0
\$\begingroup\$

@, 2 bytes

@ is an abandoned (golfing?) language made of a tree of function calls.

I have no idea whether this is a programming language without invoking the system shell, so please verify it.

The @ language has a built-in that allows Hello, world printing.

ħ

Or, a non-cheating version:

{Hello, World!}
\$\endgroup\$
-1
\$\begingroup\$

brainfuck, 137 bytes

++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.>+.+++++++..+++.<<++++++++++++++.------------.>+++++++++++++++.>.+++.------.--------.<<+.

Try it online!


Explained :

++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.                       H
>+.                                                                    e
+++++++..                                                             l l
+++.                                                                   o
<<++++++++++++++.                                                    comma
------------.                                                        space
>+++++++++++++++.                                                      W
>.                                                                     o
+++.                                                                   r
------.                                                                l
--------.                                                              d
<<+.                                                                   !

This can definitely be golfed. (World record is 72 bytes so I already know that)


This is basic hard coded answer, simply gets the Ascii value, resets and keeps going

brainfuck, 210 bytes

-[>+<-------]>-.[-]<-[>++<-----]>-.+++++++..[-]>+[+>+[<]>->]<.[-]--[>+<++++++]>+.[-]>-[-[-<]>>+<]>-.[-]-[>+<---]>++.[-]>+[+>+[<]>->]<.[-]>+[-->++[<]>-]>.[-]>+[++[++>]<<+]>+.[-]-[>++<-----]>--.[-]>-[-[-<]>>+<]>.

Try it online!

Explained :

-[>+<-------]>-.                                               H
[-]                                                             
<-[>++<-----]>-.                                               e
+++++++..                                                     l l
[-]                                               
>+[+>+[<]>->]<.                                                o
[-]
--[>+<++++++]>+.                                               ,
[-]
>-[-[-<]>>+<]>-.                                             space  
[-]
-[>+<---]>++.                                                  W
[-]
>+[+>+[<]>->]<.                                                o
[-]
>+[-->++[<]>-]>.                                               r
[-]
>+[++[++>]<<+]>+.                                              l
[-]
-[>++<-----]>--.                                               d
[-]
>-[-[-<]>>+<]>.                                                !
\$\endgroup\$
-2
\$\begingroup\$

So I am still developing this and it is still a beta , but I though I would post this anyways (Note : The language was made after the challenge,)

Simple, 1 byte

-

Other possible alternatives : +,*,/,%. No numbers just operators.

Try it

\$\endgroup\$
  • \$\begingroup\$ You don't need to say it was made after the challenge \$\endgroup\$ – ASCII-only Apr 25 '18 at 0:52
  • \$\begingroup\$ @ASCII-only : I see \$\endgroup\$ – Muhammad Salman Apr 25 '18 at 16:26
  • \$\begingroup\$ You removed the Try It code \$\endgroup\$ – MilkyWay90 Feb 5 at 17:01
  • \$\begingroup\$ This answer is invalid; the github interpreter link is dead. \$\endgroup\$ – MilkyWay90 Jul 5 at 1:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.