- The C programming language is a structure oriented programming language, developed at Bell Laboratories in 1972 by Dennis Ritchie
- C programming language features were derived from an earlier language called “B” (Basic Combined Programming Language – BCPL)
- C language was invented for implementing UNIX operating system
- In 1978, Dennis Ritchie and Brian Kernighan published the first edition “The C Programming Language” and commonly known as K&R C
- In 1983, the American National Standards Institute (ANSI) established a committee to provide a modern, comprehensive definition of C. The resulting definition, the ANSI standard, or “ANSI C”, was completed late 1988.
C programming language standards:
- C89/C90 standard – First standardized specification for C language was developed by the American National Standards Institute in 1989. C89 and C90 standards refer to the same programming language.
- C99 standard – Next revision was published in 1999 that introduced new features like advanced data types and other changes.
C11 and Embedded C language:
- C11 standard adds new features to C programming language and library like type generic macros, anonymous structures, improved Unicode support, atomic operations, multi-threading and bounds-checked functions. It also makes some portions of the existing C99 library optional and improves compatibility with C++.
- Embedded C includes features not available in C like fixed-point arithmetic, named address spaces, and basic I/O hardware addressing.
- Operating systems, C compiler and all UNIX application programs are written in C language
- It is also called as procedure oriented programming language. The C language is reliable, simple and easy to use. C has been coded in assembly language.
Features of C programming language:
- Efficiency and Effectiveness
Uses of C programming language:
The C programming language is used for developing system applications that forms a major portion of operating systems such as Windows, UNIX and Linux. Below are some examples of C being used.
- Database systems
- Graphics packages
- Word processors
- Operating system development
- Compilers and Assemblers
- Network drivers
Which level is C language belonging to?
- Middle Level:
Middle level languages don’t provide all the built-in functions found in high level languages, but provides all building blocks that we need to produce the result we want. Examples: C, C++
- High Level:
High level languages provide almost everything that the programmer might need to do as already built into the language. Example: Java, Python
- Low Level:
Low level languages provides nothing other than access to the machines basic instruction set. Example: Assembler
C language is a structured language:
Structure oriented language:
- In this type of language, large programs are divided into small programs called functions
- Prime focus is on functions and procedures that operate on the data
- Data moves freely around the systems from one function to another
- Program structure follows “Top Down Approach”
- Examples: C, Pascal, ALGOL and Modula-2
Object oriented language:
- In this type of language, programs are divided into objects
- Prime focus is in the data that is being operated and not on the functions or procedures
- Data is hidden and cannot be accessed by external functions
- Program structure follows “Bottom UP Approach”
- Examples: C++, JAVA and C# (C sharp)
Non structure oriented language:
- There is no specific structure for programming this language. Examples: BASIC, COBOL, FORTRAN
Key points to remember in C language:
- The C language is structured, middle level programming language developed by Dennis Ritchie
- Operating system programs such as Windows, Unix, Linux are written in C language
- C89/C90 and C99 are two standardized editions of C language
- C has been written in assembly language
C language tutorial reference E-books & research papers:
- [ANSI 89] American National Standards Institute., American National Standard for Information Programming Language C, X3 159-1989
- [Kernighan 78] B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall: Englewood Cliffs, NJ, 1978. Second edition, 1988.
- [Thinking 90] C* Programming Guide, Thinking Machines Corp.: Cambridge Mass., 1990.