Content deleted Content added
mNo edit summary |
No edit summary |
||
Line 3:
Most [[high-level language]]s support four basic types of statements: [[assignment]], [[looping]], [[conditional branching]], and [[unconditional branching]]. Assignment statements, in general, perform an operation on information located in memory and store the results in memory for later use. High-level imperative languages, in addition, permit the evaluation of complex expressions, which may consist of a combination of [[arithmetic]] operations and [[function]] evaluations, and the assignment of the resulting value to [[memory]]. Looping statements allow a sequence of statements to be executed multiple times. Loops can either execute the statements they contain a predefined number of times, or they can execute them repeatedly until some condition changes. Conditional branching statements allow a block of statements to be executed only if some condition is met. Otherwise, the statements are skipped and the execution sequence continues from the statement following the block. Unconditional branching statements allow the execution sequence to be transferred to some other part of the program. These include the jump, called "[[goto]]" in many languages, and the subprogram, or [[procedure]], call.
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 [[International Business Machines|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 [[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]].
|