Computer History - Herong's Notes
Dr. Herong Yang, Version 3.00

What Is C Language?

This section provides a quick introduction of C language, a general purpose and procedural programming language that supports memory address pointers and dynamic memory allocation.

C is a general purpose programming language developed in 1972 by Dennis Ritchie at Bell Labs. Initially, there was no formal specification of C language. The book "The C Programming Language" by Brian Kernighan and Dennis Ritchie published in 1978 served as the informal specification for the first version of C language.

In 1989, American National Standards Institute (ANSI) established a standard specification of C language called: "ANSI X3.159-1989 - Programming Language C".

In 1999, a major revision of ANSI C specification was published by the International Organization for Standardization (ISO), "ISO/IEC 9899:1999 - Programming Languages - C".

Main features of C language:

  • C is a procedural programming language, not an object-oriented programming language. C programs are organized as modules and functions.
  • C supports low-level access to memory using address pointers. This makes C language a choice for implementing system software.
  • C supports array data structure with two ways to access array elements, indexes and pointers.
  • C supports dynamic memory allocation, which helps to reduce the size of object file generated by the compiler, and allow arrays to be declared with sizes determined at runtime.
  • C supports a large number of library routines for input/output operations, string manipulations, mathematical functions, etc.
  • C uses a header file to share declarations of variables and functions of a program module with other modules.
  • C does not do bounds checking on arrays. This often leads to un-desired behaviors during program execution.

The picture below shows the cover page the book: "The C Programming Language" by Brian Kernighan and Dennis Ritchie published in 1978:
The C Programming Language

Table of Contents

 About This Book

 1957 - FORTRAN Language Developed by IBM

 1970 - UNIX Operating System Developed by AT&T Bell Labs

 1971 - FTP Protocol Created by Abhay Bhushan

1972 - C Language Developed by Dennis Ritchie

What Is C Language?

 TCC - Tiny C Compiler

 Compilation and Execution Process of C Programs

 GNU C Compiler

 Sample C Program for Arrays and Pointers

 Sample C Program for Dynamic Memory Allocation - malloc()

 1976 - vi Text Editor Developed by Bill Joy

 1977 - Apple II Designed by Steve Jobs and Steve Wozniak

 1977 - The Bourne Shell Developed by Stephen Bourne

 1978 - The C Shell Developed by Bill Joy

 1978 - Bash (Bourne-Again Shell) Developed by Brian Fox

 1979 - The Tcsh (TENEX C Shell) Developed by Ken Greer

 1983 - "Sendmail" Mail Transfer Agent Developed by Eric Allman

 1984 - Macintosh Developed by Apple Inc.

 1984 - X Window System Developed a MIT Team

 1991 - WWW (World Wide Web) Developed by Tim Berners-Lee

 1991 - Gopher Protocol Created by a University of Minnesota Team

 1995 - Java Language Developed by Sun Microsystems

 1995 - PHP: Hypertext Preprocessor Created by Rasmus Lerdorf

 2002 - .NET Framework Developed by Microsoft

 References

 Printable Copy - PDF Version

Dr. Herong Yang, updated in 2012
What Is C Language?