views:

1688

answers:

52

Help make Stack Overflow become the definitive place to come to for examples of the classic "Hello World!" program. Feel free to use any language you like and keep to one example per answer please.

+4  A: 

In Python:

print "Hello World!"
MikeCroucher
+12  A: 

If you haven't already seen it, you need to read The Evolution of a Programmer

Ed Guiness
Yep - I've seen it before. Nearly fell off my chair :)
MikeCroucher
This is awesome.. :-)
petr k.
+1  A: 

Windows command language:

echo.Hello world!
paxdiablo
+6  A: 

Ruby:

puts "Hello, World!"
Kodein
+2  A: 

C:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    printf("Hello, World!\n");

    return EXIT_SUCCESS;
}
aib
Please include a header showing which language this is
Ola Eldøy
Let's hope he says C and not C++ :)
OJ
+35  A: 

My single answer must be this link:

The Hello World Collection

Grimtron
link seems to be broken.. I'm not sure if I should bring this back from the grave for a link...
WalterJ89
Works fine here?
Grimtron
+22  A: 

Sorry, this is my fav: lolcode :P

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
joshhunt
A: 

bash

echo Hello World

perl

print "Hello World\n";

C#

Console.WriteLine("Hello World");

php

echo "Hello World";
Sklivvz
+20  A: 
VonC
+9  A: 

In notepad:

Hello, World
1800 INFORMATION
I hardly consider Notepad as a language!
Fernando Barrocal
Are you kidding? that is a perfectly valid computer program written in notepad C designed to make notepad print out "hello world". The beauty of notepad C is how optimised and readable it is, it is practically self documenting
1800 INFORMATION
+4  A: 

GNU Hello:

The GNU Hello program produces a familiar, friendly greeting.

Yes, this is another implementation of the classic program that prints "Hello, world!" when you run it. Unlike the elementary version often seen, GNU Hello processes its argument list to modify its behavior, supports greetings in many languages, and so on. Of course, the primary purpose of this program is to demonstrate how to write other programs that do these things; it serves as a model for all of the GNU coding standards and other recommended practices.

If you're in Debian, it's even nicely packaged (slightly tongue in cheek):

The classic greeting, and a good example

The GNU hello program produces a familiar, friendly greeting. It allows non-programmers to use a classic computer science tool which would otherwise be unavailable to them.

Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project).

1800 INFORMATION
Nice how they squeezed it in 204 lines, and more importantly they are already at version 2.4!
Tomas
A: 

In Nemerle usually:

System.Console.WriteLine("Hello World!")

In Nemerle with Nextem:

using Nextem.String;
print "Hello World!"
Cody Brocious
A: 
Response.Write("Hello, World!");
starec
What language/environment is it? I guess that "Response" means some kind of web stuff.
Rafał Dowgird
+1  A: 
HttpContext.Current.Response.Write("Hello World!");
HttpContext.Current.Response.End();

or

try{
  $get('screen').innerHTML('Hello World!');
}catch(e){
  try{
    $('#screen').innerHTML('Hello World!');
  }catch(ee){
    document.getElementById('screen').innerHTML('Hello World');
  }
}

(just had to make sure that MS Ajax or jQuery were loaded :P)

Slace
A: 

In groovy;

println 'Hello World!'

Greetz GHad

GHad
+8  A: 

Brainfuck

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.
<<+++++++++++++++.>.+++.------.--------.>+.>.
Evil Activity
+4  A: 

Hello world in every language

Is this cheating? This project is trying to collect the answer to this question in every programming language. Check it out and add any that are missing.

+2  A: 

C++

#include <cstdlib>
#include <iostream>

int main(int argc, char **argv)
{
    std::cout << "Hello, World" << std::endl;

    return EXIT_SUCCESS;
}
HitScan
This is C+... For C++, please change <stdlib.h> to <cstdlib>, or remove altogether... And it is <iostream>, not <iostreams>... :-)
paercebal
A: 

In goruby:

h

See shinh's anarchy golf for more excellent examples of goruby golfing. :-)

Chris Jester-Young
+2  A: 
SELECT 'Hello World' FROM dual;

^^Oracle SQL

set serveroutput on

BEGIN
dbms_output.put_line('Hello world.');
END;
/

^^^Oracle PL/SQL

set serveroutput on
exec dbms_output.put_line('Hello world.');

^^^Oracle PL/SQL

pappes
+5  A: 

An alternative one using Mathematica:

Plot3D[Exp[-x^2 - 0.5 y^2] Cos[4 x] + 
  Exp[-3 ((x + 0.5)^2 + 0.5 y^2)], {x, -3, 3}, {y, -5, 5}, 
 PlotRange -> {0, 0.001}, PlotPoints -> 40]
MikeCroucher
+1 Very nice...
Tomas
+2  A: 

ASP

<%="Hello World!"%>

ASP.NET

<%="Hello World!"%>
Brian Boatright
...and that's where the similarity ends.
jleedev
We have come so far with ASP.NET MVC2 in .NET 4 - <%:"Hello World!"%>
Justin
A: 

Whitespace is a language where only whitespace characters are used. Non whitespace chars are comments.

Here is Hello, World in Whitespace. http://compsoc.dur.ac.uk/whitespace/hworld.ws

Go to that link and Ctrl-A to `see' the code. Enjoy!

jop
+1  A: 

In my mind, the point of this exercise wouldn't be to merely display the statement which outputs "Hello, World." That's too easy. This should be compilable (or fully runnable, for scripting languages) code which performs this task, such that this truly is the repository for the classic beginner's program. To that end ... Being that I'm a .NET guy, here we go ...

C#, Console:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");
    }
}

VB.NET, Console:

Module Module1

    Sub Main()
        Console.WriteLine("Hello, World!")
    End Sub

End Module
John Rudy
You can compare this to the Java version to see why the Java guys find the .NET crowd so unsophisticated and "unprofessional". :-)
Justin
+7  A: 

prints "Hello StackOverflow!". The language should be apparent =)

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook! Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook. Ook? Ook? Ook! Ook? Ook. Ook? Ook! Ook? Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook? Ook! Ook? Ook. 
Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook? Ook. 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? 
Ook? Ook! Ook? Ook. Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook! Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? 
Ook? Ook! Ook? Ook. Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook! Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook. Ook? Ook? Ook! Ook? Ook. Ook? Ook! Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook.
holli
Well done. Have a banana. :-D
DevSolar
I'm not enough geek to understand.
Luc M
+18  A: 

Using XML and a WebService (also known as "The $150/hour programming style". Not to be confused with the "$200/hour style", that would have included JavaScript, AJAX, and an Oracle backend):

hworld.xml

<?xml version="1.0"?>
<data>
    <character>H</character>
    <character>e</character>
    <character>l</character>
    <character>l</character>
    <character>o</character>
    <character> </character>
    <character>W</character>
    <character>o</character>
    <character>r</character>
    <character>l</character>
    <character>d</character>
    <character>!</character>
</data>

EnterpriseStringService.asmx.cs

[WebMethod]
public string GetString(string name)
{
    string filename = Server.MapPath(string.Format("App_Data/{0}.xml", name));
    StringBuilder sb = new StringBuilder();
    if (File.Exists(filename))
    {
        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(filename);
        XmlNodeList chars = xdoc.SelectNodes("/data/character");
        foreach (XmlNode charNode in chars)
        {
            sb.Append(charNode.InnerText);
        }
    }
    return sb.ToString();
}
Michael Stum
I think your XML definition is lacking, you should have separate `<word genus="something">`, `<whitespace>` and `<sentence>` wrappers at least to allow for easy XPath selection.
Esko
Crap, I am rewriting this very functionality using a LINQ statement to output JSON and I am only making $50/hour. I have so much to learn.
Justin
+1  A: 

A compact solution in C:

main() {
    write(1, "Hello world\n", 13);
}
Sorry but that's not C. `main` returns `int`, "implicit int" is non-compliant since C99, and `write()` is not part of the standard library (*and* undeclared since you didn't include the necessary header).
DevSolar
A: 

Java:

class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello World");
  }
}
Martin OConnor
+1  A: 

print 'hello world'

Nithin
+2  A: 

PowerShell

"Hello World"

Also works in most other REPLs (like Ruby's irb). :)

Brad Wilson
PowerShell FTW!!!
Goyuix
A: 

F#

printf "Hello World!\n"

or

open System
Console.WriteLine "Hello World"

T-SQL

print 'Hello World'
saner
+1  A: 

In Delphi:

Console

program HelloWorld;

{$APPTYPE CONSOLE}

begin
  Writeln('Hello, World!');
end.

GUI

program HelloWorld;

{$APPTYPE CONSOLE}

uses
  Dialogs;

begin
  ShowMessage('Hello, World!');
end.
gabr
A: 

JAVASCRIPT

alert("hello world")
+2  A: 

From here:

% zmail jim

I need a "Hello, world." program by this afternoon.

supermedo
A: 

XSLT

<xsl:text>Hello World!</xsl:text>

or

<xsl:value-of select="'Hello World!'"/>
+2  A: 

APL:

⎕←'Hello, World!'
Christian Davén
+1 for someone who still knows that old stuff !
blabla999
+3  A: 

A few months ago, a contractor at work introduced me to Unlambda.. Ever since I've been thoroughly intrigued:

```s``sii`ki
 ``s``s`ks
     ``s``s`ks``s`k`s`kr
               ``s`k`si``s`k`s`k
                               `d````````````.H.e.l.l.o.,. .w.o.r.l.d.!
                        k
      k
  `k``s``s`ksk`k.*
Ian P
+1  A: 

Rich Text Format (.rtf):

{\rtf1\ansi\ansicpg1252\deff0\deflang1030{\fonttbl{\f0\fswiss\fcharset0 Arial;}} \viewkind4\uc1\pard\f0\fs20 Hello world!\par }

Jesper Blad Jensen aka. Deldy
+2  A: 

My favorite language in the world, Haskell:

main :: IO ()
main = putStrLn "Hello World!"
tj9991
+2  A: 
Fernando Barrocal
I gotta try that sometime, and best of all i have the holy grail of IDEs: Photoshop! :D
RCIX
+5  A: 

This is a strange way to program... The Chef Language Hello World:

Hello World Souffle.

This recipe prints the immortal words "Hello world!", in a basically brute force
way. It also makes a lot of food for one person.

Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes

Method.
Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. 
Put lard into the mixing bowl. Put red salmon into the mixing bowl. 
Put oil into the mixing bowl. Put water into the mixing bowl. 
Put zucchinis into the mixing bowl. Put oil into the mixing bowl. 
Put lard into the mixing bowl. Put lard into the mixing bowl.
Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. 
Liquefy contents of the mixing bowl. Pour contents of the mixing bowl 
into the baking dish.

Serves 1.

*Every line is part of the source, believe me

Fernando Barrocal
Woah, and I thought no "Hello World" program could impress me :P
shylent
I have a question. How come the source is highlighted? I mean the keywords like "Pour" and "Liquefy" and so on? You did that by hand, didn't you?
shylent
Lol... impressive.
WalterJ89
+4  A: 

Back to MSDOS Assembly (from here)

; This program displays "Hello, World!"

dosseg
.model small
.stack 100h

.data
hello_message db 'Hello, World!',0dh,0ah,'$'

.code
main  proc
      mov    ax,@data
      mov    ds,ax

      mov    ah,9
      mov    dx,offset hello_message
      int    21h

      mov    ax,4C00h
      int    21h
main  endp
end   main

Good ol' tasm & tlink ...

Iulian Şerbănoiu
+1  A: 
paperhorse
A: 

perl 5.10 & 6:

say "Hello World";

sir_lichtkind
A: 

My program prints it multiple times:

$ yes Hello World
Brendan Long
A: 

Lua:

print "Hello World!"
RCIX
A: 

In Haskell (fully compilable too!)

module Hello where
hello = do
   print "Hello World"
Jonno_FTW
+5  A: 

No java implementation yet? Here's one:

/* Hello World
*/

public interface MessageStrategy {
  public void sendMessage();
}

public abstract class AbstractStrategyFactory {
  public abstract MessageStrategy createStrategy(MessageBody mb);
}

public class MessageBody {
  Object payload;
  public Object getPayload() { return payload; }
  public void configure(Object obj) { payload = obj; }
  public void send(MessageStrategy ms) {
    ms.sendMessage();
  }
}

public class DefaultFactory extends AbstractStrategyFactory {
  private DefaultFactory() {}
  static DefaultFactory instance;
  public static AbstractStrategyFactory getInstance() {
    if (null==instance) instance = new DefaultFactory();
    return instance;
  }

  public MessageStrategy createStrategy(final MessageBody mb) {
    return new MessageStrategy() {
      MessageBody body = mb;
      public void sendMessage() {
        Object obj = body.getPayload();
        System.out.println(obj.toString());
      }
    };
  }
}

public class HelloWorld {
  public static void main(String[] args) {
    MessageBody mb = new MessageBody();
    mb.configure("Hello World!");
    AbstractStrategyFactory asf = DefaultFactory.getInstance();
    MessageStrategy strategy = asf.createStrategy(mb);
    mb.send(strategy);
  }
}
Tomas
Shouldn't a proper Java application be using Inversion of Control?
Justin
You are absolutely right! I'm afraid the original author was a Java newbie...
Tomas
A: 

In ADA (2005)

with Ada.Text_IO;         
use Ada.Text_IO;

procedure hello is
begin
  Put("Hello,World ");
end hello;

Strangely this beautiful language has just not caught up in popularity !

Arkapravo
A: 

JavaScript (with print statement!)

print(document.write("Hello, world!"))
SHiNKiROU
+1  A: 
from math import *

def f(x):
    return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\
               + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\
               + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\
               + 5.878*sin(5*x*1.118)))

print "".join([chr(f(x)) for x in range(12)])

Python, source.

liori
@liori : GREAT ! ..... What next, proof of Riemann hypothesis .... Keep up this great job ! ...
Arkapravo
A: 

In Prolog

?- write('Hello world!'), nl.

Arkapravo