The document outlines the evolution of major programming languages from 1956 to 2005, highlighting key languages such as FORTRAN, LISP, and ALGOL, along with their development environments and features. It categorizes languages into multi-purpose and special-purpose, detailing the characteristics and impacts of early languages like FORTRAN and LISP on programming methodologies. Additionally, it discusses the advancements in control structures, data types, and syntax that influenced later programming languages.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
7 views12 pages
Chapter 2tpl
The document outlines the evolution of major programming languages from 1956 to 2005, highlighting key languages such as FORTRAN, LISP, and ALGOL, along with their development environments and features. It categorizes languages into multi-purpose and special-purpose, detailing the characteristics and impacts of early languages like FORTRAN and LISP on programming methodologies. Additionally, it discusses the advancements in control structures, data types, and syntax that influenced later programming languages.
MULTI-PURPOSE LANGUAGES : SCALA , C# , JAVA , C++ , C , Haskell, SML , SCHEME , LISP , PYTHON ,PERL , RUBY
SPECIAL PURPOSE LANGUAGES:
UNIX SHELL , SQL, LATEX
1. FORTRAN ( FORMULA TRANSLATOR)(1957):
Developed by an IBM team led by JOHN BACKUS . The first high level programming language to become widely used Designed for the new IBM 704, which had index registers and floating point hardware - Environment of development: 1. Computers were small and unreliable 2. Applications were scientific 3. No programming methodology or tools 4. Machine efficiency was most important 5. remain main language for scientific computing Impact of environment on design 1. No need for dynamic storage 2. Need good array handling and counting loops 3. No string handling, decimal arithmetic, or powerful input/output (commercial stuff) - First implemented version of FORTRAN - Names could have up to six characters - Posttest counting loop (DO) - Formatted i/o - User-defined subprograms - Three-way selection statement (arithmetic IF) - No data typing statements - No separate compilation - Compiler released in April 1957, after 18 worker/ years of effort - Programs larger than 400 lines rarely compiled correctly, mainly due to poor reliability of the 704 - Code was very fast - Quickly became widely used PATTERN : Originally columns and lines were relevant and blanks and upper / lower case ignored except strings. Variables names are from 1 t 6 characters long , letters , digits and underscores only. Variables need to be declared : implicit naming convention determines their type Programmer – defined constants are called parameter Arrays : subscript ranges can be declared as ( 1 : size)_ Static type checking is used in FORTRAN but checking is incomplete . constructs that could not be statically checked were often left unchecked at run time ( fortran 90 produces module system which enables each program checking across separately ) Storage representation is sequential. CONTROL STRUCTURES FORTRAN II - 1958 - Independent compilation - Fix the bugs FORTRAN IV - 1960-62 - Explicit type declarations - Logical selection statement - Subprogram names could be parameters - ANSI standard in 1966 FORTRAN 66 Relied heavily on statement labels and GOTO statements , also have DO ( for ) loops . FORTRAN 77 - 1978 - Character string handling - Logical loop control statement - IF-THEN-ELSE statement FORTRAN 90 - 1990 - Modules - Dynamic arrays - Pointers - Recursion - CASE statement - Parameter type checking -while loop DATA TYPES : Numeric data : integer , real , complex , double – precision real Boolean data Arrays Character string Files Fortran 90 added derived data types like C structs
FORTRAN CODE EXAMPLE
LISP = LIST PROCESISING ( 1960) LISt Processing language (Designed at MIT by McCarthy) He defined LISP as “ a scheme for a partial recursive functions of a certain class symbolic expression” LISP is expression based language . Conditional expressions that produce a value were new in LISP. Its syntax is simple. To making parsing easy all operations are written in prefix form ( operator in front of all operands ) . LISP program compute with atoms and cells. Most operations in LISP take list arguments and return list values Example; (cons ‘ ( a b c )’ (d e f) ) One feature that sets LISP apart from many other languages that it is possible for a program to build a data structure that represents an expression and then evaluates the expression as if it were written as a part of program . This is done with function eval. - AI research needed a language that: 1. Process data in lists (rather than arrays) 2. Symbolic computation (rather than numeric) - Only two data types: atoms and lists - Syntax is based on lambda calculus - No need for variables or assignment - Control via recursion and conditional expressions - Still the dominant language for AI - COMMON LISP and Scheme are contemporary dialects of LISP, ALGOL : Had major effect on language design MAIN CHARACTERSITICS : Block structure Functions and procedures Static typing The semicolon separate the statements PASCAL: