Introduction to C Programming

Introduction to C programming | Here we will learn about what is C programming, the history of C programming, the features of C programming, the areas of application of C programming, and how C is platform dependent language.

C is a general-purpose, middle-level, compiler-based and procedure or function-oriented structured programming language. It was developed by Dennis Ritchie in 1972 at Bell Laboratories.

The main purpose of developing C was to write operating systems. Many languages have borrowed syntax/features directly or indirectly from the C language. C++ is nearly a superset of C programming language. Syntax of languages like Java, PHP, JavaScript, and other languages is mainly based on C programming.

History of C Programming

C envolved from three previous languages ALGOL, BCPAL and B. C uses many of the important concepts of these three languages.

ALGOL was introduced in the early 1960s and it was the first language to use a block structure. It was widely used in Europe and never gained widely acceptance in the United States. Some of the first work was done by two computer scientists, Corrado Bohm, and Guiseppe Jacopini.

BCPL (Basic Combined Programming Language) was developed in 1967 by Martin Richards. BCPL was used for writing operating systems software and Compilers. Initially, the UNIX Operating system was developed using an assembly language on PDP (Programmable Data Processor) machines in 1969.

Ken Thompson modeled many features in his language “B” after their counterparts in BCPL and used B in 1970 to create early versions of the UNIX operating system. The C language was evolved from B by Bell Laboratories in 1972. In 1973 the complete UNIX operating system was recoded using C by the employees of AT & T (American Telephone & Telegraph) bell labs Dennis Ritchie and Ken Thompson. C became widely known as the development language of the UNIX operating systems.

The first version of the C language (in 1972) is known as Traditional C, as documented and popularized in a 1978 book by Brain W.Kernighan and Dennis Ritchie (K & R C). In 1983, the American National Standards Institute (ANSI) began the definition of a standard for C. It was approved in December 1989 (ANSI C, standard C, or sometimes C89). In 1990, the International Standards Organization (ISO) adopted the ANSI standard. This version of C is known as C90 or ISO C. In 1995, minor changes were made to the standard. This version is known as C95. A much more significant update was made in 1999 and this version is known as C99.

Features of C Programming

  • C is a structured programming language, so it has the ability to breakdown a large module into manageable sub modules called modularity. Because of this feature project can be completed in time and debugging will be easier and faster.
  • C is a Case sensitive language. Uppercase characters will be treated differently from lowercase characters.
  • It has the ability to extend the existing software by adding new features. This feature is called Extensibility.
  • C is a powerful language. It provides a verity of data types and functions. It has a large set of operators and provides useful control statements.
  • C is a middle-level language. It supports the features of both low-level language and high-level languages. Due to this feature C makes it suitable for writing both application software and system software.
  • The program of C language is compiled and executed with more faster as compared to the program of other high-level languages.
  • C language is platform-dependent and machine-independent language. The source code of C language is portable but with respect to the executable code, C is not portable.
  • It provides Dynamic memory allocation.
  • C is a general-purpose programming language and can efficiently work on enterprise applications, games, graphics, and applications requiring calculations, etc.
  • C supports user-defined functions and provides several pre-defined library or built-in functions.

Areas of Application of C Programming

The most prolific area is the UNIX operating system applications. C programming used in writing networking applications, chip programming/System software (Ex: OS, Compilers)/ Embedded Software. Database applications like Oracle also use C language. C programming also used in Game applications, the implementation of Business oriented applications and Scientific related applications. Using C editor software can also be designed like Notepad, ms-word. Today virtually all new major operating systems are written in C or C++. Hence C is also called multi-purpose programming language.

  • Operating System. Example:- Window, Linux, Unix
  • Editors. Example:- Notepad, Wordpad, Ms-word
  • Translators. Example:- Compiler, Interpreter, Assembler
  • Commercial applications. Example:- Hotel, Shop, and Hospital programs
  • Data-base. Example:- Oracle, My SQL, SQL Server
  • Device Drivers. Example:- Audio/Video/Printer drivers
  • Mobile and PC games e.t.c.

Platform dependency

C language basically designed to re-write the UNIX operating system. Now a day we can create the C program on any machine, regardless of machine configuration. Hence C is called a machine-independent programming language. But executable files created in one operating system are not able to execute in another operating system. So, C is called platform-dependent language. Using C we can create only a standalone application. C does not support web applications. Hence C is not a complete portable language.

C/C++ program is platform dependent. In C/C++ language program is compiled targeting to one operating system. Compiled code contains machine language whose format is understandable to only the current operating system. Since machine language format is not understandable to a different operating system. C and C++ programs compiled code are not executed in the different operating systems so, they become platform dependent.

introduction-to -C

Not only the C program, but C software is also platform dependent because all its components (compiler, linker, library files ) are platform dependent. We have separate C software for every operating system. We must download and install in our computer-based on our operating system.

If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or you find anything incorrect? Let us know in the comments. Thank you!

Leave a Reply