For a detailed timeline of events, see Timeline of programming languages.
For
the ACM conference series, see History of Programming Languages.
For broader coverage of this topic, see Programming language.
This article's lead section may be too short to
adequately summarize the key points. Please consider expanding
the lead to provide an accessible overview of all important aspects
of the article. (February 2018)
History of computing
Hardware
Hardware 1960s to present
Software
Software
Software configuration management
Unix
Free software and open-source software
Computer science
Artificial intelligence
Compiler construction
Early computer science
Operating systems
Programming languages
Prominent pioneers
Software engineering
Modern concepts
General-purpose CPUs
Graphical user interface
Internet
Laptops
Personal computers
Video games
World Wide Web
Cloud
Quantum
By country
Bulgaria
Eastern Bloc
Poland
Romania
South America
Soviet Union
Yugoslavia
Timeline of computing
before 1950
1950–1979
1980–1989
1990–1999
2000–2009
2010–2019
2020–present
more timelines ...
Glossary of computer science
Category
v
t
e
The history of programming languages spans from documentation of early
mechanical computers to modern tools for software development. Early
programming languages were highly specialized, relying on mathematical
notation and similarly obscure syntax.[1] Throughout the 20th century, research
in compiler theory led to the creation of high-level programming languages, which
use a more accessible syntax to communicate instructions.
The first high-level programming language was Plankalkül, created by Konrad
Zuse between 1942 and 1945.[2] The first high-level language to have an
associated compiler was created by Corrado Böhm in 1951, for his PhD thesis.[3] The
first commercially available language was FORTRAN (FORmula TRANslation),
developed in 1956 (first manual appeared in 1956, but first developed in 1954) by a
team led by John Backus at IBM.
Early history
[edit]
During 1842–1849, Ada Lovelace translated the memoir of Italian
mathematician Luigi Menabrea about Charles Babbage's newest proposed machine:
the Analytical Engine; she supplemented the memoir with notes that specified in
detail a method for calculating Bernoulli numbers with the engine, recognized by
most of historians as the world's first published computer program.[4]
Jacquard Looms and Charles Babbage's Difference Engine both were designed to
utilize punched cards,[5][6] which would describe the sequence of operations that their
programmable machines should perform.
The first computer codes were specialized for their applications: e.g., Alonzo
Church was able to express the lambda calculus in a formulaic way and the Turing
machine was an abstraction of the operation of a tape-marking machine.
First programming languages
[edit]
In the 1940s, the first recognizably modern electrically powered computers were
created. The limited speed and memory capacity forced programmers to write hand-
tuned assembly language programs. It was eventually realized that programming in
assembly language required a great deal of intellectual effort.[citation needed]
An early proposal for a high-level programming language was Plankalkül, developed
by Konrad Zuse for his Z1 computer between 1942 and 1945 but not implemented at
the time.[7]
The first functioning programming languages designed to communicate instructions
to a computer were written in the early 1950s. John Mauchly's Short Code, proposed
in 1949, was one of the first high-level languages ever developed for an electronic
computer.[8] Unlike machine code, Short Code statements represented mathematical
expressions in understandable form. However, the program had to
be interpreted into machine code every time it ran, making the process much slower
than running the equivalent machine code.
In the early 1950s, Alick Glennie developed Autocode, possibly the first compiled
programming language, at the University of Manchester. In 1954, a second iteration
of the language, known as the "Mark 1 Autocode", was developed for the Mark
1 by R. A. Brooker. Brooker, with the University of Manchester, also developed an
autocode for the Ferranti Mercury in the 1950s. The version for the EDSAC 2 was
devised by Douglas Hartree of University of Cambridge Mathematical Laboratory in
1961. Known as EDSAC 2 Autocode, it was a straight development from Mercury
Autocode adapted for local circumstances and was noted for its object
code optimization and source-language diagnostics which were advanced for the
time. A contemporary but separate thread of development, Atlas Autocode was
developed for the University of Manchester Atlas 1 machine.
In 1954, FORTRAN was invented at IBM by a team led by John Backus; it was the
first widely used high-level general purpose language to have a functional
implementation, in contrast to only a design on paper.[9][10] When FORTRAN was first
introduced, it was viewed with skepticism due to bugs, delays in development, and
the comparative efficiency of "hand-coded" programs written in assembly.
[11]
However, in a hardware market that was rapidly evolving, the language eventually
became known for its efficiency. It is still a popular language for high-performance
computing[12] and is used for programs that benchmark and rank the
world's TOP500 fastest supercomputers.[13]
Another early programming language was devised by Grace Hopper in the US,
named FLOW-MATIC. It was developed for the UNIVAC I at Remington Rand during
the period from 1955 until 1959. Hopper found that business data
processing customers were uncomfortable with mathematical notation, and in early
1955, she and her team wrote a specification for an English language programming
language and implemented a prototype.[14] The FLOW-MATIC compiler became
publicly available in early 1958 and was substantially complete in 1959.[15] Flow-Matic
was a major influence in the design of COBOL, since only it and its direct
descendant AIMACO were in use at the time.[16]
Other languages still in use today include LISP (1958), invented by John
McCarthy and COBOL (1959), created by the Short Range Committee. Another
milestone in the late 1950s was the publication, by a committee of American and
European computer scientists, of "a new language for algorithms"; the ALGOL 60
Report (the "ALGOrithmic Language"). This report consolidated many ideas
circulating at the time and featured three key language innovations:
nested block structure: code sequences and associated declarations could be
grouped into blocks without having to be turned into separate, explicitly named
procedures;
lexical scoping: a block could have its own private variables, procedures and
functions, invisible to code outside that block, that is, information hiding.
Another innovation, related to this, was in how the language was described:
a mathematically exact notation, Backus–Naur form (BNF), was used to describe
the language's syntax. Nearly all subsequent programming languages have used
a variant of BNF to describe the context-free portion of their syntax.
ALGOL 60 was particularly influential in the design of later languages, some of which
soon became more popular. The Burroughs large systems were designed to be
programmed in an extended subset of ALGOL.
ALGOL's key ideas were continued, producing ALGOL 68:
syntax and semantics became even more orthogonal, with anonymous routines,
a recursive typing system with higher-order functions, etc.;
not only the context-free part, but the full language syntax and semantics were
defined formally, in terms of Van Wijngaarden grammar, a formalism designed
specifically for this purpose.
ALGOL 68's many little-used language features (for example, concurrent and parallel
blocks) and its complex system of syntactic shortcuts and automatic type coercions
made it unpopular with implementers and gained it a reputation of
being difficult. Niklaus Wirth actually walked out of the design committee to create
the simpler Pascal language.
Logos
Fortran
Lisp
Simula
Some notable languages that were developed in this period include:
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (forerunner to LISP)
1955 – FLOW-MATIC (led to COBOL)
1957 – FORTRAN (first compiler)
1957 – COMTRAN (precursor to COBOL)
1958 – LISP
1958 – ALGOL 58
1959 – FACT (forerunner to COBOL)
1959 – COBOL
1959 – RPG
1960 – ALGOL 60
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (forerunner to C)
1964 – Speakeasy
1964 – BASIC
1964 – PL/I
1966 – JOSS
1966 – MUMPS
1967 – BCPL (forerunner to C)
1967 – Logo (an educational language that later
influenced Smalltalk and Scratch).
Establishing fundamental paradigms
[edit]
Logos
Scheme
Smalltalk
The period from the late 1960s to the late 1970s brought a major flowering of
programming languages. Most of the major language paradigms now in use were
invented in this period:[original research?]
Speakeasy, developed in 1964 at Argonne National Laboratory (ANL) by Stanley
Cohen, is an object-oriented programming system (OOPS), much like the
later MATLAB, IDL and Mathematica numerical package. Speakeasy has a
clear Fortran foundation syntax. It first addressed efficient physics computing
internally at ANL, was modified for research use (as "Modeleasy") for the Federal
Reserve Board in the early 1970s and then was made available commercially;
Speakeasy and Modeleasy are still in use.
Simula, invented in the late 1960s by Nygaard and Dahl as a superset of ALGOL
60, was the first language designed to support object-oriented programming.
FORTH, the earliest concatenative programming language was designed by
Charles Moore in 1969 as a personal development system while at the National
Radio Astronomy Observatory (NRAO).
C, an early systems programming language, was developed by Dennis
Ritchie and Ken Thompson at Bell Labs between 1969 and 1973.
Smalltalk (mid-1970s) provided a complete ground-up design of an object-
oriented language.
Prolog, designed in 1972 by Alain Colmerauer, Phillipe Roussel, and Robert
Kowalski, was the first logic programming language.
ML built a polymorphic type system (invented by Robin Milner in 1973) on Lisp,
[17]
pioneering statically typed functional programming languages.
Each of these languages spawned an entire family of descendants, and most
modern languages count at least one of them in their ancestry.
The 1960s and 1970s also saw considerable debate over the merits of "structured
programming", which essentially meant programming without the use of goto. A
significant fraction of programmers believed that, even in languages that
provide goto, it is bad programming style to use it except in rare circumstances. This
debate was closely related to language design: some languages had no goto, which
forced the use of structured programming.
To provide even faster compile times, some languages were structured for "one-pass
compilers" which expect subordinate routines to be defined first, as with Pascal,
where the main routine, or driver function, is the final section of the program listing.
Some notable languages that were developed in this period include:
1967 – BCPL (forerunner to B)
1967 – Logo
1969 – B (forerunner to C)
1970 – Pascal
1970 – Forth
1972 – C
1972 – Smalltalk
1972 – Prolog
1973 – ML
1975 – Scheme
1978 – SQL (a query language, later extended)
1980s: consolidation, modules, performance
[edit]
Logos
MATLAB
Erlang
Tcl
C++
The 1980s were years of relative consolidation in imperative languages. Rather than
inventing new paradigms, all of these movements elaborated upon the ideas
invented in the prior decade. C++ combined object-oriented and systems
programming. The United States government standardized Ada, a systems
programming language intended for use by defense contractors. In Japan and
elsewhere, vast sums were spent investigating so-called fifth-generation
programming languages that incorporated logic programming constructs. The
functional languages community moved to standardize ML and Lisp. Research
in Miranda, a functional language with lazy evaluation, began to take hold in this
decade.
One important new trend in language design was an increased focus on
programming for large-scale systems through the use of modules, or large-scale
organizational units of code. Modula, Ada, and ML all developed notable module
systems in the 1980s. Module systems were often wedded to generic
programming constructs: generics being, in essence, parametrized modules[citation
needed]
(see also Polymorphism (computer science)).
Although major new paradigms for imperative programming languages did not
appear, many researchers expanded on the ideas of prior languages and adapted
them to new contexts. For example, the languages of the Argus and Emerald
systems adapted object-oriented programming to distributed computing systems.
The 1980s also brought advances in programming language implementation.
The reduced instruction set computer (RISC) movement in computer
architecture postulated that hardware should be designed for compilers rather than
for human assembly programmers. Aided by central processing unit (CPU) speed
improvements that enabled increasingly aggressive compiling methods, the RISC
movement sparked greater interest in compiler technology for high-level languages.
Language technology continued along these lines well into the 1990s.
Some notable languages that were developed in this period include:
1980 – C++ (as C with classes, renamed in 1983)
1983 – Ada
1984 – Common Lisp
1984 – MATLAB
1984 – dBase III, dBase III Plus (Clipper and FoxPro as FoxBASE)
1985 – Eiffel
1986 – Objective-C
1986 – LabVIEW (visual programming language)
1986 – Erlang
1987 – Perl
1988 – PIC (markup language)
1988 – Tcl
1988 – Wolfram Language (as part of Mathematica, only got a separate name in
June 2013)
1989 – FL (Backus)
1990s: the Internet age
[edit]
Logos
Haskell
Lua
PHP
Rebol
Python
Ruby
Ocaml
The rapid growth of the Internet in the mid-1990s was the next major historic event in
programming languages. By opening up a radically new platform for computer
systems, the Internet created an opportunity for new languages to be adopted. In
particular, the JavaScript programming language rose to popularity because of its
early integration with the Netscape Navigator web browser. Various other scripting
languages achieved widespread use in developing customized applications for web
servers such as PHP. The 1990s saw no fundamental novelty in imperative
languages, but much recombination and maturation of old ideas. This era began the
spread of functional languages. A big driving philosophy was programmer
productivity. Many rapid application development (RAD) languages emerged, which
usually came with an integrated development environment (IDE), garbage collection,
and were descendants of older languages. All such languages were object-oriented.
These included Object Pascal, Objective Caml (renamed OCaml), Visual Basic,
and Java. Java in particular received much attention.
More radical and innovative than the RAD languages were the new scripting
languages. These did not directly descend from other languages and featured new
syntaxes and more liberal incorporation of features. Many consider these scripting
languages to be more productive than even the RAD languages, but often because
of choices that make small programs simpler but large programs more difficult to
write and maintain.[citation needed] Nevertheless, scripting languages came to be the most
prominent ones used in connection with the Web.
Some programming languages included other languages in their distribution to save
the development time. for example both of Python and Ruby included Tcl to
support GUI programming through libraries like Tkinter.
Some notable languages that were developed in this period include:
1990 – Haskell
1991 – Python
1991 – Visual Basic
1993 – Lua
1993 – R
1994 – CLOS (part of ANSI Common Lisp)
1995 – Ruby
1995 – Ada 95
1995 – Java
1995 – Delphi (Object Pascal)
1995 – Visual FoxPro
1995 – JavaScript
1995 – PHP
1996 – OCaml
1997 – Rebol
2000s: programming paradigms
[edit]
Logos
D
Groovy
PowerShell
Scratch
Go
Clojure
Haxe
Programming language evolution continues, and more programming paradigms are
used in production.
Some of the trends have included:
Increasing support for functional programming in mainstream languages used
commercially, including purely functional programming for making code easier to
reason about and to parallelize (at both micro- and macro- levels)
Constructs to support concurrent and distributed programming.
Mechanisms for adding security and reliability verification to the language:
extended static checking, dependent typing, information flow control,
static thread safety.
Alternative mechanisms for composability and
modularity: mixins, traits, typeclasses, delegates, aspects.
Component-oriented software development.
More interest in visual programming languages like Scratch, LabVIEW,
and PWCT
Metaprogramming, reflective programming (reflection), or access to the abstract
syntax tree
Aspect-oriented programming (AOP) allowing developers to insert code in
another module or class at "join points"
Domain-specific languages and code generation
XML for graphical interface (XUL, Extensible Application Markup
Language (XAML))
Big Tech companies introduced multiple new programming languages that are
designed to serve their needs. for example:
Microsoft introduced C# and F#
Google introduced Go
Some notable languages developed during this period include:
2000 – ActionScript
2001 – C#
2001 – D
2002 – Scratch
2003 – Groovy
2003 – Scala
2005 – F#
2005 – Haxe
2006 – PowerShell
2007 – Clojure
2008 – Nim
2009 – Go
2010s: the Mobile age
[edit]
Logos
Rust
Dart
Swift
Kotlin
TypeScript
C#
Ring
Julia
Zig
Programming language evolution continues with the rise of new programming
domains.
Increased interest in distribution and mobility.
Integration with databases, including XML and relational databases.
Open source as a developmental philosophy for languages, including the GNU
Compiler Collection and languages such as PHP, Python, Ruby, and Scala.
Massively parallel languages for GPU graphics processing units and
supercomputer arrays, including OpenCL
Early research into quantum computing programming languages (see list)
Early research in applying artificial intelligence (AI) methods to generate code
using AI like using GPT-3 and Gemini.[18][19]
Multiple new programming languages tried to provide a modern replacement for
the C programming language.
Many new programming languages are influenced by the popular dynamic
languages and promised adding type safety without decreasing the productivity.
Many new programming languages uses LLVM in their implementation.
Many Big Tech companies continued introducing new programming languages that
are designed to serve their needs and provides first-class support for their platforms.
for example:
Microsoft introduced TypeScript, Q# and Bosque
Google introduced Dart
Apple introduced Swift.
Meta introduced Hack.
Some notable languages developed during this period include:[20][21]
2011 – Dart
2011 – Kotlin
2012 – Julia
2012 – TypeScript
2012 – Elixir
2014 – Swift
2014 – Hack
2015 – Rust
2015 – Raku
2016 – Ring
2016 – Zig
Other new programming languages include Elm, Ballerina, Red, Crystal, V
(Vlang), Reason.
2020s: Current trends
[edit]
Logos
Power Fx
Carbon
The development of new programming languages continues, and some new
languages appears with focus on providing a replacement for current languages.
These new languages try to provide the advantages of a known language like C++
(versatile and fast) while adding safety or reducing complexity. Other new languages
try to bring ease of use as provided by Python while adding performance as a
priority. Also, the growing of Machine Learning and AI tools still plays a big rule
behind these languages' development, where some visual languages focus on
integrating these AI tools while other textual languages focus on providing more
suitable support for developing them. [22][23][24]
Some notable new programming languages include:
2021 – Power Fx
2022 – Carbon
2023 – Mojo
Key figures
[edit]
Some innovators
Dennis Ritchie
Niklaus Wirth
Grace M. Hopper
Bjarne Stroustrup
Anders Hejlsberg
Guido van Rossum
Yukihiro Matsumoto
James Gosling
Larry Wall
Some key people who helped develop programming languages:
Ada Lovelace, published first computer program
Alan Cooper, developer of Visual Basic.
Alan Kay, pioneering work on object-oriented programming, and originator
of Smalltalk.
Anders Hejlsberg, developer of Turbo Pascal, Delphi, C#, and TypeScript.
Arthur Whitney, developer of A+, k, and q.
Bertrand Meyer, inventor of Eiffel.
Bjarne Stroustrup, developer of C++.
Brad Cox, co-creator of Objective-C.
Brendan Eich, developer of JavaScript.
Brian Kernighan, co-author of the first book on the C programming language
with Dennis Ritchie, coauthor of the AWK and AMPL programming languages.
Chuck Moore, inventor of Forth, the first concatenative programming language,
and a prominent name in stack machine microprocessor design.
Chris Lattner, creator of Swift, Mojo and Clang/LLVM.
Cleve Moler, creator of MATLAB.
Dennis Ritchie, inventor of C. Unix Operating System, Plan 9 Operating System.
Douglas McIlroy, influenced and designed such languages
as SNOBOL, TRAC, PL/I, ALTRAN, TMG and C++.
Grace Hopper, first to use the term compiler and developer of FLOW-MATIC,
influenced development of COBOL. Popularized machine-independent
programming languages and the term "debugging".
Guido van Rossum, creator of Python.
James Gosling, lead developer of Java and its precursor, Oak.
Jean Ichbiah, chief designer of Ada, Ada 83.
Jean-Yves Girard, co-inventor of the polymorphic lambda calculus (System F).
Jeff Bezanson, main designer, and one of the core developers of Julia.
Jeffrey Snover, inventor of PowerShell.
Joe Armstrong, creator of Erlang.
John Backus, inventor of Fortran, cooperated in designing ALGOL
58 and ALGOL 60.
John C. Reynolds, co-inventor of the polymorphic lambda calculus (System F).
John McCarthy, inventor of LISP, design committee of ALGOL 60.
John von Neumann, originator of the operating system concept.
Graydon Hoare, inventor of Rust.
Ken Thompson, inventor of B and Go.
Kenneth E. Iverson, developer of APL, co-developer of J with Roger Hui.
Konrad Zuse, designed the first high-level programming
language, Plankalkül (which influenced ALGOL 58[25]).
Kristen Nygaard, pioneered object-oriented programming, co-invented Simula.
Larry Wall, creator of the Perl programming language (see Perl and Raku).
Martin Odersky, creator of Scala, and previously a contributor to the design
of Java.
Martin Richards developed the BCPL programming language, forerunner of
the B and C languages.
Nathaniel Rochester, inventor of first assembler (IBM 701).
Niklaus Wirth, inventor of Pascal, Modula and Oberon.
Ole-Johan Dahl, pioneered object-oriented programming, co-invented Simula.
Rasmus Lerdorf, creator of PHP.
Rich Hickey, creator of Clojure.
Robert Gentleman, co-creator of R.
Robert Griesemer, co-creator of Go.
Robin Milner, inventor of ML, and sharing credit for Hindley–
Milner polymorphic type inference.
Rob Pike, co-creator of Go, Inferno (operating system) and Plan 9 (operating
system) Operating System co-author.
Ross Ihaka, co-creator of R.
Stanley Cohen, inventor of Speakeasy, which was created with an OOPS, object-
oriented programming system, the first instance, in 1964.
Stephen Wolfram, creator of Mathematica.
Walter Bright, creator of D.
Yukihiro Matsumoto, creator of Ruby.
See also
[edit]
Association for Computing Machinery (ACM)
SIGPLAN
History of Programming Languages Conference
History of compiler construction
History of computing hardware
Programming language
Timeline of computing
Timeline of programming languages
List of programming languages
List of programmers
References
[edit]
1. ^ Hopper (1978) p. 16.
2. ^ Knuth, Donald E.; Pardo, Luis Trabb. "Early development of programming
languages". Encyclopedia of Computer Science and Technology. 7. Marcel
Dekker: 419–493.
3. ^ Corrado Böhm's PhD thesis
4. ^ Fuegi, J.; Francis, J. (October–December 2003), "Lovelace & Babbage and the
creation of the 1843 'notes'", Annals of the History of Computing, 25 (4): 16–
26, doi:10.1109/MAHC.2003.1253887
5. ^ Bales, Rebecca (24 July 2023). "Charles Babbage Analytical Engine
Explained". history-computer.com.
6. ^ Swade, Doron. "The Engines". computerhistory.org. Retrieved 23 February 2024.
7. ^ In 1998 and 2000 compilers were created for the language as a historical
exercise. Rojas, Raúl, et al. (2000). "Plankalkül: The First High-Level Programming
Language and its Implementation". Institut frame Informatik, Freie Universität Berlin,
Technical Report B-3/2000. (full text)
8. ^ Sebesta, W.S. (2006). Concepts of Programming Languages. Pearson/Addison-
Wesley. p. 44. ISBN 978-0-321-33025-3.
9. ^ "Fortran creator John Backus dies – Tech and gadgets". NBC News. 2007-03-20.
Retrieved 2010-04-25.
10. ^ "CSC-302 99S : Class 02: A Brief History of Programming Languages".
Math.grin.edu. Archived from the original on 2010-07-15. Retrieved 2010-04-25.
11. ^ Padua, David (Feb 2000). "The FORTRAN I Compiler" (PDF). Computing in
Science and Engineering. 2 (1): 70–
75. Bibcode:2000CSE.....2a..70P. doi:10.1109/5992.814661. Retrieved 7
November 2019.
12. ^ Eugene Loh (18 June 2010). "The Ideal HPC Programming
Language". Queue. 8 (6). Association of Computing Machines.
13. ^ "HPL – A Portable Implementation of the High-Performance Linpack Benchmark
for Distributed-Memory Computers". Retrieved 2015-02-21.
14. ^ Hopper (1978) p. 16.
15. ^ Sammet (1969) p. 316
16. ^ Sammet (1978) p. 204.
17. ^ Gordon, Michael J. C. (1996). "From LCF to HOL: a short history" (PDF). p. 3.
Retrieved 2015-05-04. Edinburgh LCF, including the ML interpreter, was
implemented in Lisp.
18. ^ Manjoo, Farhad (July 29, 2020). "How Do You Know a Human Wrote This?". The
New York Times. ISSN 0362-4331. Retrieved August 4, 2020.
19. ^ Milmo, Dan (2023-12-06). "Google says new AI model Gemini outperforms
ChatGPT in most tests". The Guardian. ISSN 0261-3077. Retrieved 2024-02-26.
20. ^ "TIOBE Index, Top 100 programming languages according to TIOBE
Index". www.tiobe.com. TIOBE index. 22 February 2024.
21. ^ "GitHub's Octoverse 2018". Archived from the original on 2019-03-22.
22. ^ "Introducing new Copilot features for Power Fx". Microsoft. 29 April 2024.
23. ^ "Carbon language aims to be a better C++".
24. ^ "Modular Makes a Case for Mojo Programming Language, Based on Python". 5
April 2024.
25. ^ Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and
Architectures. MIT Press. p. 292. ISBN 978-0262681377. Retrieved October
25, 2013.
Further reading
[edit]
Rosen, Saul, (editor), Programming Systems and Languages, McGraw-Hill,
1967.
Sammet, Jean E., Programming Languages: History and Fundamentals,
Prentice-Hall, 1969.
Sammet, Jean E. (July 1972). "Programming Languages: History and
Future". Communications of the ACM. 15 (7): 601–
610. doi:10.1145/361454.361485. S2CID 2003242.
Richard L. Wexelblat (ed.): History of Programming Languages, Academic
Press 1981.
Thomas J. Bergin and Richard G. Gibson (eds.): History of Programming
Languages, Addison Wesley, 1996.
Sebesta, Robert W. Concepts of programming languages. Pearson Education
India, 2004.
External links
[edit]
History and evolution of programming languages
Graph of programming language history
Online Historical Encyclopaedia of Programming Languages
hide
v
t
e
Programming languages
Comparison
Timeline
History
Ada
ALGOL
Simula
APL
Assembly
BASIC
Visual Basic
classic
.NET
C
C++
C#
COBOL
Erlang
Elixir
Forth
Fortran
Go
Haskell
Java
JavaScript
Julia
Kotlin
Lisp
Lua
MATLAB
ML
Caml
OCaml
Pascal
Object Pascal
Perl
Raku
PHP
Prolog
Python
R
Ruby
Rust
SAS
SQL
Scratch
Shell
Smalltalk
Swift
more...
Lists: Alphabetical
Categorical
Generational
Non-English-based
Category
Categories:
History of computing
History of computer science