index

 

language

 

year

 

written in

 

mighti-

ness

pop-

ularity

appli-

cation

type

 

interpreted -

compiled

OO

 

Visual IDE

read-/

learnability

abstract-

ness

port-

ability

01 VB.net 2001 C++ 02 01   procedural interpreted yes yes      
02 Java 1996 C 03 01   structured both yes yes      
03 C 1972 Assembly 01 02 systems procedural compiled no yes 02    
04 Visual Basic 1991 C++ 02 03   procedural interpreted no yes      
05 PHP 1995 C 04 04 web procedural interpreted   yes      
06 C++ 1985 C 01 05 systems procedural compiled yes yes      
07 Python 1991 C   06   procedural both          
08 Perl 1987 C   07   procedural both          
09 C# 2001 C   08   procedural interpreted yes yes      
10 Ruby 1995 C   09   multi paradigm interpreted yes        
11 JavaScript 1995 C++   10 web structured interpreted          
12 Delphi 1995 C   11   procedural   yes yes      
13 D 1999 C   12   procedural            
14 PL/SQL 1986     13   dec            
15 SAS 1966 C   14 statistics imp            
16 COBOL 1959 Assembly   15 finance procedural            
17 ABAP 1980     16 finance              
18 Lisp/Scheme 1958   01 17   functional interpreted          
19 Pascal 1970 Assembly   18   procedural     no 01    
20 Eiffel 1985     19   procedural   yes yes      
21 F# 2005     20   functional            
22 Prolog 1970 Algol   21   logical            
23 Smalltalk 1971             yes        
24 APL 1964         arr            
25 Erlang 1991 Prolog       functional            
26 Oberon 1986         procedural            
27 Mathematica 1988         functional            
28 Ada 1983         procedural            
29 REXX 1979         scr            
30 Fortran 1957         procedural            
31 Algol 1958                      
32 Assembly 1950 Machine Code                    

 


timeline

 

 

let x = "Hello World";;

System.Console.WriteLine(x);;

 

F# (2005)

 

Agile Manifesto (February 13, 2001)

 

SourceForge (2000)

 

module helloworld;

import std.stdio;

void main()

{

writefln("Hallo Welt!");
}

 

D (1999)

 

the TIOBE Programming Community index

 

Metaprogramming

 

Reflection

 

 

Éric Lévénez's Computer Languages Timeline (1999)

 

Source control (1998)

 

LAMP (1998)

 

RUP (1998)

 

 

UML (1997)

 

public class HelloWorld

{

public static void main(String [ ] args)

{

System.out.println("Hello, world!");

}

}

 

Java (1996) is an object oriented interpreted programming language

 

eXtreme Programming (1996)

 

 

the Encyclopedia of Computer Languages (1995)

 

puts "Hello, world!"

 

Ruby (1995)

 

&ltTITLE>

Hello World in JavaScript

</TITLE>

&ltSCRIPT>

document.write ("Hello, world!")

</SCRIPT>

 

JavaScript (1995)

 

 

Design Patterns (1995)

 

 

DirectX (1995)

 

<?php

echo"Hello, world!";

?>

 

PHP (June 8, 1995) is a newer programming language with focus on web design and a C-like syntax

 

10 REM Basic version of 99 bottles of beer

20 FOR X=100 TO 1 STEP -1

30 PRINT X;"Bottle(s) of beer on the wall,";X;"bottle(s) of beer"

40 PRINT "Take one down and pass it around,"

50 PRINT X-1;"bottle(s) of beer on the wall"

60 NEXT

 

99 Bottles of Beer (1994)

 

ultraedit (1994)

 

Code refactoring (1993)

 

 

IBM Visual Age (1993)

 

DLL hell

 

MFC (1992)

 

 

Visual Basic 1.0 (May 1991) was released for Windows

 

print "Hello, world!"

 

python (1991)

 

object-modeling technique (1991)

 

Autoconf (1991)

 

-module(hello).

-export([hello_world/0]).

 

hello_world() -> io:fwrite("Hello, world!\n").

 

Erlang (1991)

 

haskell (1990)

 

<html>

<head>

<title>Webserver-Test</title>

</head>

<body>

Hello, world!

</body>

</html>

 

html (1990)

 

Object Management Group (1989)

 

MODULE Hello;

IMPORT Out;

BEGIN

Out.String("Hello, world!");

Out.Ln

END Hello.

 

Oberon (1988)

 

While[True, Print["Hello, world!"]

 

Mathematica (1988)

 

CLOS (1988)

 

print "Hello, world!\n";

 

Perl (1987)

 

put "Hello, World!"

 

HyperTalk (1987)

 

authorware (1987)

 

Use Case Diagramme (1986)

 

Concurrent Versions System (1986)

 

spiral model (1986)

 

CREATE TABLE message (text char(15));

INSERT INTO message (text) VALUES ('Hello, world!');

SELECT text FROM message;

DROP TABLE message;

 

SQL (1986)

 

Functional programming

 

Miranda (1985)

 

VHDL (1985)

 

Design by contract

 

class HELLO_WORLD

 

create make

feature

make is

do

io.put_string("Hello, world!%N")

end -- make

end -- class HELLO_WORLD

 

Eiffel (1985)

 

#include <iostream>

int main()

{

    std::cout < "Hello, World!" << endl;

    return 0;

}

 

C++ (1985)  is a compiled programming language based on C, with support for object-oriented

programming. It is one of the most widely-used programming languages currently available

 

 

O'Reilly Media (1984)

 

Standard ML (1984)

 

Smalltalk-80 (1983)

 

with TEXT_IO;

 

procedure HELLO is

begin

TEXT_IO.PUT_LINE ("Hello, world!");

end HELLO;

 

Ada (1983)

 

Rapid application development

 

CASE-Tools (1982)

 

just-in-time compilation (early 1980s)

 

COCOMO (1981)

 

Remote Procedure Calls (1981)

 

chill (1980)

 

dBASE II (1980)

 

REPORT ZELLO.

WRITE 'Hello, world!'.

 

ABAP (1980s)

 

profiler (1979)

 

/* */

say "Hello, world!"

 

REXX (1979)

 

modules

 

MODULE Hello;

 

FROM InOut IMPORT WriteLn, WriteString;

 

BEGIN

WriteString ("Hello, world!");

WriteLn

END Hello.

 

Modula (late 1970s)

 

CSP (1978)

 

FP (1978)

 

Lamport Clocks (1978)

 

(object-class request

^action)

 

(startup

(strategy MEA)

(make request ^action hello)

)

 

(rule hello

(request ^action hello)

(write |Hello, world!| (crlf))

)

 

OPS5 (1977)

 

make (1977)

 

RPC (1976)

 

mesa (1976)

 

%!

% Displays as page output.

/Courier findfont

24 scalefont

setfont

100 100 moveto

(Hello, world!) show

showpage

 

PostScript (1976)

 

euclid (mid 1970s)

 

Communicating Sequential Processes (1975)

 

;;; Hello World in Scheme

 

(define helloworld

    (lambda ()

        (display "Hello World")

        (newline)))

 

Scheme (1975)

 

Maestro I (1975)

 

the Hello world program (1974)

 

the Monitor procedure (1974)

 

Debugging

 

ML (1973)

 

 

the Nassi-Shneiderman diagram (1972)

 

information hiding (1972)

 

hello_world :- write('Hello, world!').

 

Prolog (1972)

 

main()

{

     printf("Hello, world\n");

}

 

C (1972) is a programming language named "C" because many

of its features were derived from an earlier language called "B." It is a compiled

procedural, imperative programming language made popular as the basis of Unix

 

Fifth-generation programming languages

 

Plankalkül was first published (1972) the first compiler for it was implemented in 2000 by the Free University of Berlin

 

Transcript show: 'Hello, world!'.

 

Smalltalk (1971)

 

Generic programming (1970s)

 

 

Waterfall model (1970)

 

program HelloWorld(output);

begin

   WriteLn('Hello, world!');

end.

 

Pascal (1970) is a general-purpose structured language named after the famous mathematician and philosopher

Blaise Pascal. It was very popular during the 80's and 90's. Whilst popularity of Pascal itself has waned

(it's principal use is in teaching of programming) languages derived from it (such as Borland Delphi) are still in use

 

logical programming

 

Planner (1969)

 

software crisis

 

Software engineering (1968)

 

 

the Art of Computer Programming (1968) by Donald Knuth

 

BEGIN

    print(("Hello, world!", newline))

END

 

ALGOL 68 (1968)

 

Regular Expressions (1968)

 

Object-oriented programming

 

Simula 67 (1968)

 

 

Logo (1967)

 

polymorphism (1967)

 

put "Hello world";

 

SAA (1966)

 

Structured Programming (1966)

 

ISWIM (1966)

 

GET "LIBHDR"

 

LET START () BE

$(

    WRITES ("Hello, world!*N"

$)

 

BCPL (1966)

 

Evolution strategy (1965)

 

Test: proc options(main);

  put list('Hello, world!');

end Test;

 

PL/I (1964)

 

[]<-'Hello World!'

 

APL (1964)

 

joss (1963)

 

10 PRINT "Hello, world!"

20 END

 

BASIC (1963)

 

Integrated development environments

 

regular expressions library (1960s)

 

BEGIN

   OutText("Hello, world!");

   OutImage;

END

 

Simula I (1962)

 

'Hello, World!'

 

A Programming Language (1962)

 

Darwin (1961)

 

d TestMessage c Const( 'Hello, world!' )

c TestMessage DSPLY

c EVAL *InLR = *On

 

IBM RPG (1960)

 

Fourth-generation programming languages

 

Evolutionary programming (1960)

 

'BEGIN'

   'COMMENT' Hello World in Algol 60;

   OUTPUT(4,'(''('Hello, world!')',/')')

'END'

 

ALGOL 60 (1960)

 

garbage collection (1959)

 

backus naur form (1959)

 

High-level languages

 

IDENTIFICATION DIVISION.

Program-Id. Hello-World.

ENVIRONMENT DIVISION.

DATA DIVISION.

PROCEDURE DIVISION.

Para1.

DISPLAY "Hello, world!".

Stop Run.

 

COBOL (1959)

 

ALGOL 58 (1958)

 

; LISP

(defun hello_world()

                 (print (list 'Hello, world!')))

 

Lisp (1958) is a family of functional, sometimes

scripted, programming languages often used in AI

 

Mark I Autocode (1958)

 

application programming interface

 

namespaces

 

Functional programming

 

Information Processing Language (1956)

 

Evolutionary algorithms

 

stacks (1955)

 

flow matic (1955)

 

Hashing (1953)

 

Genetic algorithms (1954)

 

imperative programming

 

    PROGRAM HELLO

    WRITE (*,100)

    STOP

100 FORMAT ('Hello, world!' /)

    END

 

the first Fortran compiler (1954) was developed for the IBM 704 by a team led by John W.

Backus. The language was widely adopted by scientists for writing numerically intensive

programs, which encouraged compiler writers to produce compilers that generate faster code

 

Third-generation programming languages

 

Autocoder

 

Autocode

 

Assemblers (1950s)

 

Assembly language

 

Second-generation programming languages

 

 

compiler

 

A-0 (1952) is a programming language for the UNIVAC I and UNIVAC II, using three-address code

instructions for solving mathematical problems. A-0 was the first language for which a compiler was developed

 

Subroutines (1951)

 

microprogramming (1951)

 

Plankalkül (1946)

 

 

mergesort (1945)

 

the stored program (1945)

 

Machine Language

 

First-generation programming languages

 

λ x. x + 1

 

Lambda calculus (1930s)

 

Currying (1920s)

 

 

Ada Lovelace's Notes on the Analytical engine (1842)

 

 

the punch card era