计算机语言-古今多少事,都付笑谈中

滚滚长江东逝水, 浪花淘尽英雄。 是非成败转头空, 青山依旧在, 几度夕阳红。 白发渔樵江渚上, 惯看秋月春风。 一壶浊酒喜相逢, 古今多少事, 都付笑谈中。

当我们回味历史,总会有点儿发现吧。看看计算机语言的历史,也许你会明白,为什么我学的计算机语言是C++,而国外更多的人使用smalltalk?ML也是一种计算机语言。

下面是个简单表:

*Fortran I
  1957
  Static implicit typing (type based on variable name)
  Static allocation
  DS:arrays
  SY:1
Fortran II
  1958
Fortran IV
  1962
*Fortran 77
  1977
  SY:2
*Fortran 90
  1990
  Heap allocation
  SY:3
Fortran 2003
  2003

APL
  1960
  Dynamic implicit typing
  Stack allocation
  http://www.acm.org/sigapl/
  DS:arrays
  SY:4
APL 2
  1984
APL 96
  1996

A+
  1988
  APL 2

Forth
  1969
  Stack allocation
  SY:1

PostScript
  1982
  Forth
  DS:strings
PostScript level 2
  1994
  GC
 

Flow-matic
  1957
  Static allocation
  
*COBOL
  1960
  Flow-matic
  Static allocation
  DS:records
  SY:2
COBOL-68
  1968
COBOL-74
  1974
COBOL-85
  1985
COBOL 2002
  2002

Algol 58
  1958
  Fortran I
  Stack allocation
  DS:arrays
  SY:2
*Algol 60
  1960
Algol 68
  1968
  GC
  SY:3

*PL/I
  1964
  Algol 60,Fortran IV,COBOL
  Static explicit typing
  Stack allocation
  SY:3

Algol W
  1966
  Algol 60
*Pascal
  1971
  Algol W,PL/I
  Static explicit typing
  Heap allocation  
Pascal AFNOR
  1983
Objective Pascal
  1985
Delphi
  1995

Modula
  1975
  Pascal
Modula-2
  1977  
Modula-3
  1989
  GC

Oberon
  1988
  Modula-2
Oberon-2
  1991

CSP
  1978
occam
  1983
Ease
  1990

Ada
  1979
  Pascal,CSP
  SY:4
*Ada 83
  1983
Ada 95
  1995

JOSS
  1963
  Algol 58
Mumps
  1967
Standard Mumps
  1977
Mumps 1984
  1984


Basic
  1964
  Fortran IV,JOSS
  Dynamic implicit typing
  GC
  SY:2
Quick Basic
  1988
Visual Basic
  1990
  http://www.microsoft.com/vbasic/
  DS:objects

Simula I
  1963
  Algol 60
  Static explicit typing
  http://www.cetus-links.org/oo_simula.html
  Heap allocation
Simula 67
  1967
  GC

*Smalltalk
  1969
  Simula 67
  SY:1
Smalltalk 72
  1972
Smalltalk 74
  1974
Smalltalk 76
  1976
Smalltalk 78
  1978
*Smalltalk 80
  1980
  Dynamic implicit typing

Beta
  1976
  Simula 67

CLU
  1974
  Simula 67,Pascal

BETA
  1983
  Smalltalk 80,Modula-2

Self
  1987
  Smalltalk 80
  SY:1

NewtonScript
  1993
  Self

AppleScript
  1993
  Smalltalk 80
  Dynamic implicit typing

*Eiffel
  1986
  Ada 83,Simula 67
  Static explicit typing
  GC
Eiffel 2
  1989
Eiffel 3
  1996

Sather 0.1
  1991
  Eiffel 2
Sather 1.0
  1994
#Sather 1.1
#  1995
#Sather 1.2.1
#  1999

CPL
  1961
  Algol 60
  Heap allocation
BCPL
  1969
B
  1970
C
  1971
  B,Algol 68
  Static explicit weak typing
  DS:records,arrays
  SY:4
*C (K&R)
  1978
ANSI C
  1989
C99
  1999

*C++
  1985
  C (K&R),Simula 67,Algol 68
  SY:5
C++ (ARM)
  1990
  C++,Ada 83,CLU
*C++ (ISO)
  1998

C (ANSI)
  1989
  C (K&R),C++
  SY:4
C 95
  1995
C 99
  1999

Oak
  1991
  C++ (ARM)
  Static explicit typing (RTTI)
  GC
  SY:3
*Java
  1995
Java 2 (v1.2)
  1998
*Java 2 (v1.5 beta)
  2004

J++
  1997
  Java
J++ 6.0
  1999

Limbo
  1996
  C 95,Java,CSP
  GC

Objective-C
  1986
  C (K&R),Smalltalk 80
  Heap allocation

.NET
  1999

*C#
  2000
  C++ (ISO),Java 2 (v1.2),.NET
  GC
  SY:4
*C# 2.0
  2005
C# 3.0 beta 1
  2007

VB.NET
  2001
  Visual Basic,.NET
  http://dmoz.org/Computers/Programming/Languages/Visual_Basic/Visual_Basic.NET/

J#
  2002
  J++ 6.0,.NET

Snobol
  1963
  Dynamic implicit typing
  GC
  DS:strings
Snobol4
  1967

Icon
  1983
  Snobol4,CLU,C (K&R)
  http://ringer.cs.utsa.edu/research/icon/  
Unicon
  2005

sh
  1971
  Heap allocation
  DS:strings
  SY:3

csh
  1978
  sh,C
  Heap allocation
tcsh
  1981

ksh
  1983
  sh
ksh88
  1988
ksh93
  1993
ksh98
  1998

zsh
  1990
  ksh88,tcsh
zsh 3.0
  1997
zsh 4.0
  2001

sed
  1979

awk
  1978
  C,Snobol4
  GC
nawk
  1985

REXX
  1979
  PL/I,Basic
  Heap allocation
REXX 3.0
  1982
Object REXX
  1988
NetREXX
  1997


bash
  1989
  sh,csh,ksh
bash 2.0
  1996
bash 3.0
  2004

*Perl
  1987
  nawk,sed,sh
  GC
  DS:strings,lists
  SY:5
Perl 4
  1991
*Perl 5
  1994
Perl 5.005
  1998
Perl 5.6.0
  2000
Perl 5.8.0
  2002

*JavaScript
  1995
  Java,Self
  GC
  http://www.oreillynet.com/pub/a/javascript/2001/04/06/js_history.html
ECMAScript
  1997
ECMAScript rel3
  1999
JavaScript 1.5
  2000
JavaScript 1.7
  2006

Lua
  1994
  Perl 4,Pascal AFNOR
  GC
#Lua 3.0
#  1997
Lua 4.0
  2000
Lua 5.0
  2003

PHP
  1995
  Perl 5
  GC
PHP4
  2000
PHP5
  2004

*Tcl
  1988
  nawk
  GC
  DS:strings
  SY:2
Tcl 8.1
  1999

*Lisp
  1959
  Dynamic implicit typing
  GC
  DS:lists
  SY:1

*Scheme
  Lisp,Algol 60
  1975
Scheme MIT
  1978
Scheme 84
  1984
Scheme R3RS
  1986
Scheme R4RS
  1988
*Scheme R5RS
  1998
Scheme R6RS
  2007

*Common Lisp
  1985
  Scheme MIT,Lisp
  SY:2
Common Lisp (ANSI)
  1994

CLOS
  1989
  Common Lisp

Logo
  1967
  Lisp

ABC
  1980
*Python
  1991
  ABC,Modula-3,C (ANSI)
  GC
  DS:strings,lists
  SY:2
Python 1.5.2
  1999
*Python 2.0
  2000
  SY:3
Python 2.2
  2002
  SY:3
#Python 2.3
#  2003
Python 2.4
  2004
Python 2.5
  2006

Boo
  2003
  Python,.NET

Pike
  1996
  C++ (ARM)
  GC

*Ruby
  1995
  Python,Perl 4,Smalltalk 80,Eiffel 2
  GC
  DS:strings,lists
  SY:4
Ruby 1.8
  2003

Cecil
  1992
  CLOS,Eiffel
  GC

Dylan
  1992
  CLOS,Smalltalk 80,C++ (ARM)
  GC

Squeak
  1996
  Smalltalk 80,Self,Logo

ISWIM
  1966
SASL
  1976
KRC
  1981

FP
  1978
  SY:1
FL
  1985

J
  1997
  APL 96,FL

*ML
  1977
  GC
  DS:lists,datatypes
  SY:2
*SML
  1984
SML 90
  1990
SML 97
  1997

SML.NET
  2002
  SML 97,.NET

*Caml
  1987
  SML
*OCaml
  1996
  SY:3
OCaml 3.0
  2000
  SY:4

Pizza
  1996
  Java,SML

F#
  2002
  OCaml 3.0,.NET
  http://research.microsoft.com/projects/ilx/fsharp.htm
Nemerle
  2003
  http://nemerle.org/

Hope
  1978
  ML

Lazy ML
  1984
  KRC,ML

Lean
  1985?
  SML
Clean
  1987?
Concurrent Clean
  1989?

Miranda
  1985
  KRC,SASL,ML,Hope
  GC

Haskell
  1990
  Miranda,Lazy ML
  SY:4

Gofer
  1991
  Haskell

*Haskell 98
  1998
  Haskell,Gofer
GHC 5.00
  2001
GHC 6.0
  2003
  
Mondrian
  2000
  Haskell 98,.NET

CAL (Open Quark)
  2006
  Haskell 98,Java 2 (v1.2)

*Prolog
  1970
  GC
  DS:lists,datatypes
  SY:1
Prolog ISO
  1995
  SY:2

Erlang
  1988
  Common Lisp,Prolog

CLIPS
  1985
  Prolog
CLIPS 5.0
  1991
  CLIPS,CLOS

Lambda Prolog
  1989
  Prolog,SML
  SY:4

Life
  1988
  Prolog

Mercury
  1993
  Prolog,SML 90,Haskell
  DS:datatypes
  SY:3

Oz 1
  1995
  Life
  # info from http://www.info.ucl.ac.be/people/PVR/tut101000.ps, p.22
Oz 3
  1999

REBOL
  1998
  CLOS
  http://www.rebol.com/

K
  1993
  A+,Scheme R4RS

F-Script
  1998
  Smalltalk 80,APL
  http://www.fscript.org/

SEQUEL
  1974
SEQUEL/2
  1976
SQL
  1977
ANSI SQL
  1986
ISO SQL
  1987
SQL-92
  1992
SQL-1999
  1999
SQL-2003
  2003

Quilt
  2000
  SQL-92
XQuery
  2001

Nice
  2003
  Java 2 (v1.2),OCaml,CLOS
  http://nice.sf.net/

Scala
  2004
  Java 2 (v1.2),.NET,OCaml
  http://scala.epfl.ch/

Io
  2003
  Smalltalk 80,Lua,NewtonScript

Groovy
  2004
  Java 2 (v1.2),Ruby
Groovy 1
  2007

Fortress 1.0beta
  2007
  Scala,Fortran 2003

Cyclone
  2002
  C 95
Cyclone 1.0
  2005

D 1.0
  2007
  C++,C99,Java,C#

Zonnon
  2005
  Oberon-2,.NET
 
  
PDF

你可能感兴趣的:(CPP)