Topic 4 - Introduction To C Programming Language
Topic 4 - Introduction To C Programming Language
PROGRAMMING LANGUAGE
TOPIC OUTLINE
History of C
C Standards
Features of C
Why learn C?
C PROGRAMMING LANGUAGE OVERVIEW
• C is general-purpose procedural programming language developed by
Dennis Ritchie at AT&T’s Bell laboratories in 1972.
• It is a high-level programming language.
• Often referred as a middle-level programming language
• It is mostly used for the development of Operating systems, Kernels,
Compilers, Device drivers, embedded systems, RDBMS packages etc.
• C is also called as the mother of all programming languages.
HISTORY OF C PROGRAMMING
1960s 1970s 1972 1978
• Development of UNIX • The need for a • Dennis Ritchie at Bell • Brain Kernighan along
operating system portable operating Laboratories with Dennis Ritchie
(UNIX is a popular system and developed C. published the first
network operating programming book on C "The C
system that pumps language originated. • The first release of C Programming
heart of the modern programming got Language".
internet) • This was the period officially public.
• Ken Thompson and when development of • The book is popularly
Dennis Ritchie C programming also known as "K&R C
developed, a • C inherited many
language started. features from ALGOL, book”.
language called B.
BCPL and B.
• It inherits many of its
features from BCPL
(Basic Combined
Programming
Language).
C STANDARDS
• American National
Standards Institute (ANSI)
initiated work on C
standards.
FEATURES OF C
Simple and Robust
Portability
Modularity
Extensibility
Speed
Wide acceptability
WHY SHOULD LEARN C PROGRAMMING?
• C is a simple language, compared any other modern programming
languages.
• Learning C will make you understand how a computer program
functions internally.
• The Backbone of Operating system development is C.
• C is the main programming language used in Apple iOS apps and
OS development as Objective C. Objective C is the Object Oriented
version of C programming.
• C language is widely used for the development of Compilers,
Assemblers, Language Interpreters, Device drivers, Databases,
Embedded systems, Server, Game frameworks etc.
QUESTIONS?