Hello World

Photo of computer code.

What is Hello World?

A Hello World program is a computer program that outputs or displays the message, “Hello, World!” This program can be created in most programming languages and is traditionally used to illustrate the basic syntax of the language.

Functionally, the Hello World computer program tells the computer to display the words “Hello, World!” In most cases, it’s the first program developers use to test a system. This program is simple to run, so if it doesn’t work effectively within the framework, it’s likely that more complex programs will also fail. Successfully displaying those two words shows the creator of the program that their code can compile, load, and run a program. With this test, they can also see the output.

The Hello World program has grown into a sort of tradition among developers through the decades, as most use it to signify the success of a completed program. The Association of Computing Machinery at Louisiana Technological University found approximately 200 versions of the program from different programming languages.

Uses of Hello World

Hello World holds little weight in evaluating a programming language and its constructs. It’s mainly used to ensure the compiler is in the path, the libraries are in the right place, and the build script is sane. But the program is used for a variety of other reasons, including:

Introduction to coding world

Hello World is typically the first program written by those learning to code and helps novice coders become acquainted with a new language. With this computer program as a foundation, developers can understand computer science principles and elements.

Beginners and professionals alike use Hello World when learning a programming language previously unknown to them to become familiar with the structure and syntax of the language.

Sanity test

This program can be used as a sanity test to ensure the components of the programming language (the compiler, development, and run-time environment) are correctly installed and that the operator understands how to use it.

Because the process of configuring a complete programming toolchain (a set of programming tools used to perform a complex software development task) is complex, a simple test such as Hello World is useful to serve as a baseline.

Proof of concept

Developers also use Hello World as a proof of concept that random code can’t be executed through an exploit where the original developers of the language did not intend the code to be executed. When seasoned programmers are configuring an environment or learning a new one, they verify that Hello World works correctly as the first step.

Debugging process

Coders use Hello World to ensure they’re editing the right aspect of a modifiable program at runtime and that it is reloading properly.

Basis for comparison

Developers can use Hello World as a basis for comparison. They compare the size of the program that the language generates and how much supporting infrastructure must exist in order for the program to execute.

Read also: C Programming Language

History of Hello World

Hello World code written on paper by creator Brian Kernighan.

IMAGE: The iconic greeting conceived in 1978 by Brian Kernighan both new and experienced programmers are familiar with within the realm of computer code.

Small test programs have existed since the development of computers, but using the phrase “Hello, World!” as a test message began in the 1970s.

In 1972, Brian Kernigham worked at Bell Labs and was asked to write an internal manual for using the programming language B, a simplified version to an even older language, BCPL. Kernigham wrote the memorandum titled A Tutorial to the Language B. In this text, the first known version of the Hello World computer program is documented to illustrate external variables. It appears in section 7 — “External Variables” in the following form to demonstrate the piecing together of several char variables:

main( ) {

 extrn a, b, c;

 putchar(a); putchar(b); putchar(c); putchar(’!*n’);

}

a ’hell’;

b ’o, w’;

c ’orld’;

The next instance of “Hello, World!” appeared in another internal memorandum for Bell Labs in 1974, also written by Kernigham, titled Programming in C: A Tutorial. It appears in section 2 — “A Simple C Program”:

main( ) {

        printf(“hello, world”);

}

Kernigham, along with Dennis Ritchie, then wrote one of the most widely read programming books, The C Programming Language in 1978. The “Hello, World!” example listed above in the 1974 memo appeared in this book, and it gained immense popularity because of it. It appears in section 1.1 — “Getting Started”.

Before Hello World, there was no standard program that was run first. After the program was invented, it spread quickly and became well-known by the late 1970s. When Kernigham was asked by Forbes why the words, “Hello, World!” were chosen, he states that while his memory is dim, he remembers watching a cartoon that showed an egg and a chick, in which the chick said, “Hello, world!”

The C Programming Language is one of the most popular programming books because of the success of the microcomputer PDP-11, which was introduced within the same timeframe as the book. The price point of the microcomputer was drastically lower than what computers had been in the past, meaning more people purchased the programmable computer. As more people bought the computer, more people read The C Programming Language, introducing readers to “Hello, World!” In the ‘80s and ‘90s, almost every C programmer owned a copy or referenced the book in some way.

Time to Hello World

Time to Hello World (TTHW) is the time it takes to create a Hello World program in any given programming language. This can be used as an indicator of the given program’s ease of use, assuming that if the Hello World program set up time is lengthy, it may be less approachable for new learners.

The concept of TTHW has been extended to APIs. It serves as an indicator of how simple it is for a developer unfamiliar with the API to get a basic example working. A faster time means the API is easier for new developers to adopt.

Variations

Hello world programs vary in complexity with each programming language. In some languages, such as scripting languages, the program can be written as a single statement. In other languages, such as low-level languages, multiple statements are required. As a general rule of thumb, programming languages that give the programmer more control over the machine will result in a more complex Hello World program.

Hello World code for top 10 programming languages

C

#include <stdio.h>

int main() {

   // printf() displays the string inside quotation

   printf("Hello, World!");

   return 0;

}

Java

class HelloWorld {

   public static void main(String[] args) {

      System.out.println(“Hello, World!”)

   }

}

C#

using System;

class Program

{

public static void Main(string[] args)

{

Console.WriteLine("Hello, World!");

}

}

C++

#include <iostream>

int main() {

  std::cout << “Hello, World!”;

  return 0;

}

Python

print(“Hello, World!”)

Visual Basic

   Module HelloWorld

   ' every console app starts with Main

      Sub Main( )

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

      End Sub

   End Module

JavaScript

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

Or

alert("Hello, world!");

Or

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

Assembly

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

PHP

<?php

Print "Hello, World!";

?>

<?php

Echo "Hello, World!";

?>

SQL

begin 

    dbms_output.put_line('Hello, World!'); 

end;

Other programming languages’ Hello World code

Perl

#!/usr/bin/perl

print "Hello World!n";

Ruby

puts "Hello, world!"

Scala

object HelloWorld extends App {

println("Hello, world!")

}

ASP.NET

Response.Write("Hello World!");

Common Lisp

(print "Hello, world!")

Haskell

main = putStrLn "Hello, world!"

Go

package main

import "fmt"

func main() {

fmt.Println("Hello, world!")

}

Ada

 with Ada.Text_IO;

 procedure Hello is

 begin

    Ada.Text_IO.Put_Line ("Hello, world!");

 end Hello;

COBOL

 IDENTIFICATION DIVISION.

      PROGRAM-ID. HELLO-WORLD.

      PROCEDURE DIVISION.

          DISPLAY 'Hello, world'.

          STOP RUN.

Pascal

program HelloWorld;

begin

  writeln( 'Hello, world!' );

end.

FORTRAN

PROGRAM HELLO

    PRINT *,'Hello, world'

    STOP

    END

With modern coding languages becoming increasingly complex, the Hello World program becomes increasingly important. It provides a simple, standardized process to configure an environment as both a test and a teaching tool. 

 

Abby Braden
Abby Braden is an award-winning writer and editor for websites such as TechnologyAdvice.com, Webopedia.com, and Project-Management.com, where she covers technology trends and enterprise and SMB project management platforms. When she’s not writing about technology, she enjoys giving too many treats to her dog and coaching part-time at her local gym.

Top Articles

The Complete List of 1500+ Common Text Abbreviations & Acronyms

Text Abbreviations reviewed by Web Webster   From A3 to ZZZ we list 1,559 SMS, online chat, and text abbreviations to help you translate and understand...

Windows Operating System History & Versions

The Windows operating system (Windows OS) refers to a family of operating systems developed by Microsoft Corporation. We look at the history of Windows...

How to Create a Website Shortcut on Your Desktop

Website Shortcut on Your Desktop reviewed by Web Webster   This Webopedia guide will show you how to create a website shortcut on your desktop using...

Generations of Computers (1st to 5th)

Reviewed by Web Webster Learn about each of the 5 generations of computers and major technology developments that have led to the computing devices that...

How to run chkdsk

Chkdsk, short for check disk, is a system tool and command...

Monday.com

Monday.com is a cloud-based work operating system that can be used for a...

Secure Socket Tunneling Protocol...

The secure socket tunneling protocol (SSTP) is a VPN protocol where...