Tuesday, 31 March 2015

HISTORY OF C

History of C Programming Language

  1. C is a programming language which born at “AT & T’s Bell Laboratory” of USA in 1972.
  2. C was written by Dennis Ritchie, thats why he is also called as father of c programming language.
  3. C language was created for a specific purpose i.e designing the UNIX operating system (which is currently base of many UNIX based OS).
  4. From the beginning, C was intended to be useful to allow busy programmers to get things done because C is such a powerful, dominant and supple language
  5. Its use quickly spread beyond Bell Labs in the late 70’s because of its long list of strong features

Why Name “C” was given to Language ?

  1. Many of C’s principles and ideas were derived from the earlier language B. (Ken Thompson was the developer of B Language.)
  2. BCPL and CPL are the earlier ancestors of B Language
  3. CPL is common Programming Language.In 1967, BCPL Language ( Basic CPL ) was created as a scaled down version of CPL
  4. As many of the features were derived from “B” Language thats why it was named as “C”.
  5. After 7-8 years C++ came into existence which was first example of object oriented programming

    Summary of C Programming Language History

    Summary –
    1B Language Developed ByKen Thompson
    2Operating System Developed in CUNIX
    3Developed atAT & T Bell Laboratory
    4Creator of Traditional CDennis Ritchie
    5Year1972

    C Programming Language Timeline :

    Programming LanguageDevelopment YearDeveloped by
    ALGOL1960International Group
    BCPL1967Martin Richards
    B1970Ken Thompson
    Traditional C1972Dennis Ritchie
    K&R C1978Brain Kernighan and Dennis Ritchie
    ANSI C1989ANSI Committee
    ANSI/ISO C1990ISO Committee

WHAT IS A PROGRAM AND WHAT IS A PROGRAMMING LANGUAGE?

A program set of instructions and data for solving a problem. Such a procedure which we call an algorithm is a series of steps arranged in a logical sequence. Also we have seen that a flowchart is a pictorial representation of a sequence of instructions given to the computer. It also serves as a document explaining the procedure used to solve a problem. In practice it is necessary to express an algorithm using a programming language. A procedure expressed in a programming language is known as a computer program.
Computer programming languages are developed with the primary objective of facilitating a large number of people to use computers without the need for them to know in detail the internal structure of the computer. Languages are designed to be machine-independent. Most of the programming languages ideally designed, to execute a program on any computer regardless of who manufactured it or what model it is.

Programming languages can be divided into two categories:

(i) Low Level Languages or Machine Oriented Languages: The language whose design is governed by the circuitry and the structure of the machine is known as the Machine language. This language is difficult to learn and use. It is specific to a given computer and is different for different computers i.e. these languages are machine-dependent. These languages have been designed to give a better machine efficiency, i.e. faster program execution. Such languages are also known as Low Level Languages. Another type of Low-Level Language is the Assembly Language. We will code the assembly language program in the form of mnemonics. Every machine provides a different set of mnemonics to be used for that machine only depending upon the processor that the machine is using.

(ii) High Level Languages or Problem Oriented Languages: These languages are particularly oriented towards describing the procedures for solving the problem in a concise, precise and unambiguous manner. Every high level language follows a precise set of rules. They are developed to allow application programs to be run on a variety of computers. These languages are machine independent. Languages falling in this category are FORTRAN, BASIC, PASCAL etc. They are easy to learn and programs may be written in these languages with much less effort. However, the computer cannot understand.