Hello, world!
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 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++
editsub say : void {
System->out->println[ $0#0 ];
}
main{
say[Hello, world!];
}
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
editApplesoft BASIC
editUsed on Apple ][ machines (Apple ][+, ][e, //c, ][GS)
10 PRINT "HELLO, WORLD!"
-or-
10 ? "HELLO, WORLD!"
Bally/Astrocade Basic
editAs used on the Bally and Astrocade game systems ca. 1978
10 PRINT "HELLO, WORLD!"
Commodore BASIC
editAs used on a Commodore 64, ca. 1984
10 ? "Hello, world!"
Dark Basic
editPRINT "Hello, world!"
FreeBASIC and QuickBASIC
editPRINT "Hello, world!"
SLEEP
or:
? "Hello, world!"
sleep
Intellivision Basic
editAs used on a Mattel Intellivision, ca. 1983
10 PRINT "HELLO, WORLD!"
Intellivision ECS Basic
editAs used in the Mattel Intellivision ECS
10 PRIN "HELLO, WORLD."
! not on ECS keyboard. Only 4 char. commands in ECS Basic
Liberty BASIC
editprint "Hello, world!"
Batch
editecho Hello, world!
#include <stdio.h>
int main(void)
{
printf( "Hello, world!\n" );
return 0;
}
using System;
namespace HelloWorld
{
class Program
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
}
#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!~%")
begin
Writeln('Hello, world!');
end.
Eztrieve (IBM Mainframe programming language).
editJOB NULL
DISPLAY "HELLO, WORLD"
STOP
: HELLO ." Hello, world!" ;
HELLO
PROGRAM HELLO
PRINT *,'Hello, world'
STOP
END
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
Haskell
editmain :: IO ()
main = putStrLn "Hello, world!"
<html>
<head>
<title>Hello, world!</title>
</head>
<body>
<p>
Hello, world!
</p>
</body>
</html>
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
JavaScript (aka JScript, ECMAScript, LiveScript)
editdocument.println("Hello, world!");
or
alert("Hello, world!");
or
document.writeln("Hello, world!");
print "Hello, world"
or, with proper syntax
print( "Hello, world!" );
MODULE Hello; IMPORT Out; PROCEDURE World*; BEGIN Out.Open; Out.String("Hello, world!"); Out.Ln; END World; END Hello.
print_endline "Hello, world!"
program HelloWorld;
begin
writeln( 'Hello, world!' );
end.
#!/usr/bin/perl
print "Hello, world!\n";
<?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!"?>
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.
puts 'Hello, world!'
Another way to do it, albeit more obscure:
#!/usr/local/bin/ruby
puts 1767707668033969.to_s(36)
#!/usr/bin/tclsh
puts "Hello, world!"
"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
put "Hello World!"
Sub Form1_Load()
MsgBox "Hello, world!"
End Sub
Assignment
editCreate a Hello, world! program in a language not listed above, then edit this page and add it to the collection.
Visual Basic .NET
editModule Module1
Sub Main()
Console.WriteLine("Hello, world!")
End Sub
End Module
C
editBecause 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
editWRITE '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>
.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
editSee also
editWikipedia has more about this subject: Hello world program |
- Hello world program examples from Wikipedia (archived copy)
External links
edit- The Hello World Collection with 500+ Hello World programs
- ↑ Kernighan, Brian W.; w:Ritchie, Dennis M. (1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.