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.
views:
1688answers:
52If you haven't already seen it, you need to read The Evolution of a Programmer
C:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return EXIT_SUCCESS;
}
Sorry, this is my fav: lolcode :P
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
bash
echo Hello World
perl
print "Hello World\n";
C#
Console.WriteLine("Hello World");
php
echo "Hello World";
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).
In Nemerle usually:
System.Console.WriteLine("Hello World!")
In Nemerle with Nextem:
using Nextem.String;
print "Hello World!"
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)
Brainfuck
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.
<<+++++++++++++++.>.+++.------.--------.>+.>.
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.
C++
#include <cstdlib>
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "Hello, World" << std::endl;
return EXIT_SUCCESS;
}
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
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]
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!
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
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.
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();
}
Java:
class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello World");
}
}
PowerShell
"Hello World"
Also works in most other REPLs (like Ruby's irb). :)
F#
printf "Hello World!\n"
or
open System
Console.WriteLine "Hello World"
T-SQL
print 'Hello World'
In Delphi:
Console
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('Hello, World!');
end.
GUI
program HelloWorld;
{$APPTYPE CONSOLE}
uses
Dialogs;
begin
ShowMessage('Hello, World!');
end.
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.*
Rich Text Format (.rtf):
{\rtf1\ansi\ansicpg1252\deff0\deflang1030{\fonttbl{\f0\fswiss\fcharset0 Arial;}} \viewkind4\uc1\pard\f0\fs20 Hello world!\par }
My favorite language in the world, Haskell:
main :: IO ()
main = putStrLn "Hello World!"
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
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
In Haskell (fully compilable too!)
module Hello where
hello = do
print "Hello World"
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);
}
}
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 !
JavaScript (with print
statement!)
print(document.write("Hello, world!"))
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.