Imperative programming: Difference between revisions

Content deleted Content added
CatherineMunro (talk | contribs)
m disamb object
Tenbaset (talk | contribs)
m Disamb Python
Line 5:
The earliest imperative languages were the machine languages of the original computers. In these languages, instructions were very simple, which made hardware implementation easier, but hindered the creation of complex programs. [[FORTRAN]], developed by [[John Backus]] at [[IBM]] starting in [[1954]], was the first major programming language to remove the obstacles presented by machine code in the creation of complex programs. FORTRAN was a compiled language that allowed named variables, complex expressions, subprograms, and many other features now common in imperative languages. The next two decades saw the development of a number of other major high-level imperative programming languages. In the late [[1950s]] and [[1960s]], [[ALGOL]] was developed in order to allow mathematical algorithms to be more easily expressed. [[COBOL]] ([[1960]]) and [[BASIC]] ([[1964]]) were both attempts to make programming syntax look more like English. In the [[1970s]], [[Pascal programming language|Pascal]] was developed by [[Niklaus Wirth]], and [[C programming language|C]] was created by [[Dennis Ritchie]] while he was working at [[Bell Laboratories]]. Wirth went on to design [[Modula-2]], [[Modula-3]], and [[Oberon]]. The [[United States Department of Defense]] began designing [[Ada programming language|Ada]] in [[1974]], but did not complete the specification until [[1983]].
 
The [[1980s]] saw a rapid growth in interest in [[object-oriented programming]]. These languages were imperative in style, but added features to support [[object (computing)|object]]s. The last two decades of the [[20th century]] saw the development of a considerable number of such programming languages. [[Smalltalk-80]], originally conceived by [[Alan Kay]] in [[1969]], was released in [[1980]] by the [[Xerox Palo Alto Research Center]]. Drawing from Smalltalk's concepts, [[Bjarne Stroustrup]] designed an object-oriented extension of the C language called [[C plus plus|C++]], which was first implemented in [[1985]]. In the late 1980s and 1990s, the notable imperative languages drawing on object-oriented concepts were [[Perl]], released by [[Larry Wall]] in [[1987]]; [[Python programming language|Python]], released by [[Guido van Rossum]] in [[1990]]; and [[Java programming language|Java]], first released by [[Sun Microsystems]] in [[1996]].
 
Imperative programming languages stand in contrast to other types of languages, such as [[functional programming|functional]] and [[logical programming]] languages. Functional programming languages, such as [[Haskell]], are not a sequence of statements and have no global state like imperative languages do. Logical programming languages, like [[Prolog]], are often thought of as defining "what" is to be computed, rather than "how" the computation is to take place, as an imperative programming language does.