Hello, world!

From Wikiversity
Jump to navigation Jump to search
Hello World! by Brian Kernighan. Based on a 1978 Bell Laboratories internal memorandum by Brian Kernighan, Programming in C: A Tutorial, which contains the first known version.

As described in more detail in the related Wikipedia article, Hello, world! is a classic "first program" one creates when learning a new programming language. The objective of the application is the same: to print the text "Hello, world!" to the screen in some form, be it console output or a dialog.

In many cases, the statement required to do this is a single line.

It seems appropriate that our introduction to Computer Science occupied this title. As a student, the first choice to make is to decide what kind of knowledge you are looking for. Of course, this depends upon your needs. You might be:

  • A learned computer scientist or professional eager to contribute research and course material
  • Computer professional seeking an alternative to expensive commercial certification
  • Adult non-computer professional or entrepreneur who could benefit from academic/practical knowledge of computing
  • College-eligible (or not) student considering a degree
  • Casual user trying to to catch/spread the next virus
  • Hobbyist or computer gamer looking to get the most out of your computing experience
  • Complete newbie looking for a place to start

This is an exciting time for education, and for those of us wishing to collaborate and share knowledge, skills and experience. At present, we are only limited by the sky, and some very large hard drives in a server farm somewhere.

Examples of Hello, world![edit]

Ada[edit]

 with Ada.Text_IO;
 
 procedure Hello is
 begin
    Ada.Text_IO.Put_Line ("Hello, world!");
 end Hello;

For an explanation see b:Ada Programming:Basic.

ASP[edit]

<%
    Response.Write "Hello, world!"
%>

or

<%="Hello, World!"%>

Alef++[edit]

sub say : void {
	System->out->println[ $0#0 ];
}

main{
     say[Hello, world!];
}

Assembly[edit]

x86 compatible for MS-DOS.

 title Hello World Program 
 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

BASH[edit]

#!/bin/bash
echo "Hello, world!"

BASIC[edit]

Applesoft BASIC[edit]

Used on Apple ][ machines (Apple ][+, ][e, //c, ][GS)

10 PRINT "HELLO, WORLD!"

-or-

10 ? "HELLO, WORLD!"

Bally/Astrocade Basic[edit]

As used on the Bally and Astrocade game systems ca. 1978

10 PRINT "HELLO, WORLD!"

Commodore BASIC[edit]

As used on a Commodore 64, ca. 1984

10 ? "Hello, world!"

Dark Basic[edit]

PRINT "Hello, world!"

FreeBASIC and QuickBASIC[edit]

PRINT "Hello, world!"
SLEEP

or:

? "Hello, world!"
sleep

Intellivision Basic[edit]

As used on a Mattel Intellivision, ca. 1983

10 PRINT "HELLO, WORLD!"

Intellivision ECS Basic[edit]

As used in the Mattel Intellivision ECS

10 PRIN "HELLO, WORLD."

! not on ECS keyboard. Only 4 char. commands in ECS Basic

Liberty BASIC[edit]

print "Hello, world!"

Batch[edit]

echo Hello, world!

C[edit]

#include <stdio.h>

int main(void) 
{
  printf( "Hello, world!\n" );
  return 0;
}

C#[edit]

using System;

namespace HelloWorld
{
  class Program 
  {
    static void Main() 
    {
      Console.WriteLine("Hello, world!");
    }
  }
}

C++[edit]

#include <iostream>
using namespace std;

int main()
{
  cout << "Hello, world!\n";
  return 0;
}

COBOL[edit]

      IDENTIFICATION DIVISION.
      PROGRAM-ID. HELLO-WORLD.
      PROCEDURE DIVISION.
          DISPLAY 'Hello, world'.
          STOP RUN.

Common Lisp[edit]

(print "Hello, world!")

Or:

(format t "Hello, world!~%")

Delphi[edit]

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

Eztrieve (IBM Mainframe programming language).[edit]

JOB NULL

DISPLAY "HELLO, WORLD"

STOP

Forth[edit]

: HELLO    ." Hello, world!"  ;
HELLO

Fortran[edit]

    PROGRAM HELLO
    PRINT *,'Hello, world'
    STOP
    END

Haskell[edit]

main :: IO ()
main = putStrLn "Hello, world!"

Html[edit]

<html>
<head>
<title>Hello, world!</title>
</head>
<body>
<p>
Hello, world!
</p>
</body>
</html>

Java[edit]

class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

JavaScript (aka JScript, ECMAScript, LiveScript)[edit]

document.println("Hello, world!");

or

alert("Hello, world!");

or


document.writeln("Hello, world!");


Luka[edit]

print "Hello, world"

or, with proper syntax

print( "Hello, world!" );

Oberon[edit]

MODULE Hello;

   IMPORT Out;

   PROCEDURE World*;
   BEGIN
      Out.Open;
      Out.String("Hello, world!"); Out.Ln;
   END World;

END Hello.

OCaml[edit]

print_endline "Hello, world!"

Pascal[edit]

program HelloWorld;
begin
  writeln( 'Hello, world!' );
end.


Perl[edit]

#!/usr/bin/perl
print "Hello, world!\n";

PHP[edit]

<?php
echo "Hello, world!";
?>

or (with short_tags enabled in php.ini)

<? echo "Hello, world!"; ?>

or (with asp_tags enabled in php.ini)

<% echo "Hello, world!"; %>

or

<?="Hello, world!"?>

Python[edit]

With Python 2

#!/usr/bin/env python
print 'Hello, world!'

Or with Python 3

print("Hello, world!")

The first line is used on Unix systems only, and is optional even there. The advantage is that it allows the file to be invoked directly (if chmod +x), without explicitly specifying the python interpreter.

Ruby[edit]

puts 'Hello, world!'

Another way to do it, albeit more obscure:

#!/usr/local/bin/ruby
puts 1767707668033969.to_s(36)

Tcl[edit]

#!/usr/bin/tclsh
puts "Hello, world!"

Trekkie[edit]

"Computer?"
*Bee bee boo
"Create program 'Hello, World! Picard-alpha-1'"
*Boo boo bee
"Parameters: Display the phrase 'Hello, world!' on the screen the program is executed from until the 
program is terminated."
*Bee bee
"Save program."
*Boo bee boo

Turing[edit]

put "Hello World!"

Visual Basic 6[edit]

Sub Form1_Load()
    MsgBox "Hello, world!"
End Sub

Assignment[edit]

Create a Hello, world! program in a language not listed above, then edit this page and add it to the collection.

Visual Basic .NET[edit]

Module Module1
 
    Sub Main()
        Console.WriteLine("Hello, world!")
    End Sub
 
End Module

C[edit]

Because the tradition of using the phrase "Hello, world!" as a test message was influenced by an example program in the seminal book The C Programming Language.[1] that original example is reproduced here.

#include <stdio.h>

main( )
{
        printf("hello, world\n");
}

LOLCODE[edit]

 HAI
 CAN HAS STDIO?
 VISIBLE "Hello world!"
 KTHXBYE

Natural [edit]

WRITE 'Hello, world!'
END

Hello, world!

XML[edit]

<?xml version="1.0"?>
<hello>
<messagename="Hello" />
<message>
Hello, World!
</message>
</hello>

Or with attributes:

<?xml version="1.0"?>
<hello messagename="Hello, World!">
Hello, world!
</hello>

MACRO-11[edit]

        .TITLE  HELLO WORLD
        .MCALL  .TTYOUT,.EXIT
HELLO:: MOV     #MSG,R1 ;STARTING ADDRESS OF STRING
1$:     MOVB    (R1)+,R0 ;FETCH NEXT CHARACTER
        BEQ     DONE    ;IF ZERO, EXIT LOOP
        .TTYOUT         ;OTHERWISE PRINT IT
        BR      1$      ;REPEAT LOOP
DONE:   .EXIT

MSG:    .ASCIZ /Hello, world!/
        .END    HELLO

More about Computer Programming[edit]

See also[edit]

Wikipedia-logo-v2.svg Wikipedia has more about this subject: Hello world program

External links[edit]

  1. Kernighan, Brian W.; w:Ritchie, Dennis M. (1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.