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
É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)
<TITLE> Hello World in JavaScript </TITLE> <SCRIPT> document.write ("Hello, world!") </SCRIPT> |
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)
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)
Miranda (1985)
VHDL (1985)
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)
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)
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)
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
Planner (1969)
Software engineering (1968)
the Art of Computer Programming (1968) by Donald Knuth
BEGIN print(("Hello, world!", newline)) END |
ALGOL 68 (1968)
Regular Expressions (1968)
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)
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
Information Processing Language (1956)
stacks (1955)
flow matic (1955)
Hashing (1953)
Genetic algorithms (1954)
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
Assemblers (1950s)
Second-generation programming languages
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)
First-generation programming languages
λ x. x + 1
Lambda calculus (1930s)
Currying (1920s)
Ada Lovelace's Notes on the Analytical engine (1842)