History of programming languages pdf

Jump to navigation Jump to search This is a list of programming languages. This page was last changed on history of programming languages pdf September 2018, at 06:18.

See Terms of Use for details. This article’s lead section does not adequately summarize key points of its contents. For a detailed timeline of events, see Timeline of programming languages. The first high-level programming language was Plankalkül, created by Konrad Zuse between 1942 and 1945. When FORTRAN was first introduced it was treated with suspicion because of the belief that programs compiled from high-level language would be less efficient than those written directly in machine code.

The first computer codes were specialized for their applications: e. 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. To some people, some degree of expressive power and human-readability is required before the status of “programming language” is granted. Jacquard Looms and Charles Babbage’s Difference Engine both had simple, extremely limited languages for describing the actions that these machines should perform. 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. The first programming languages designed to communicate instructions to a computer were written in the 1950s. John Mauchly’s Short Code, proposed in 1949, was one of the first high-level languages ever developed for an electronic computer. At the University of Manchester, Alick Glennie developed Autocode in the early 1950s, with the second iteration developed for the Mark 1 by R. Brooker in 1954, known as the “Mark 1 Autocode”. Another early programming language was devised by Grace Hopper in the US, called FLOW-MATIC.

It was developed for the UNIVAC I at Remington Rand during the period from 1955 until 1959. 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. Van Wijngaarden grammar, a formalism designed specifically for this purpose.

Did not find what they wanted? Try here

The period from the late 1960s to the late 1970s brought a major flowering of programming languages. 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. C, an early systems programming language, was developed by Dennis Ritchie and Ken Thompson at Bell Labs between 1969 and 1973. Prolog, designed in 1972 by Colmerauer, Roussel, and Kowalski, was the first logic programming language. 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. 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. 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 previous 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. 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.

The 1980s also brought advances in programming language implementation. The RISC movement in computer architecture postulated that hardware should be designed for compilers rather than for human assembly programmers. Language technology continued along these lines well into the 1990s. 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.

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. Programming language evolution continues, in both industry and research. 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. 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 Python, Ruby, and Scala. Alan Cooper, developer of Visual Basic. Alan Kay, pioneering work on object-oriented programming, and originator of Smalltalk. Brian Kernighan, co-author of the first book on the C programming language with Dennis Ritchie, coauthor of the AWK and AMPL programming languages.

Chris Lattner, creator of Swift and LLVM. Unix Operating System, Plan 9 Operating System. 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.