|
|
|
|
|
|
|
C is a relatively minimalist programming language that operates close to
the hardware, and is more similar to assembly language than most
high-level languages are. Indeed, C is sometimes referred to as
"portable assembly," reflecting its important difference from
low-level languages such as assembly languages: C code can be compiled
to run on almost any computer, more than any other language in
existence, while any given assembly language runs on at most a few very
specific models of computer. For these reasons C has been called a
medium-level language.
|
|
We briefly list some of C's characteristics that define the language and also
have lead to its popularity as a programming language. Naturally we will be
studying many of these aspects throughout the course.
-
Small size
-
Extensive use of function calls
-
Loose typing -- unlike PASCAL
-
Structured language
-
Low level
(BitWise) programming readily available
-
Pointer implementation - extensive use of pointers for memory, array,
Structures and functions
C has now become a widely used professional language for various reasons.
-
It has high-level constructs.
-
It can handle low-level activities.
-
It produces efficient programs.
-
It can be compiled on a variety of computers.
Its main drawback is that it has poor error detection which can make it off
putting to the beginner. However diligence in this matter can pay off handsomely
since having learned the rules of C we can break them. Not many languages allow
this. This if done properly and carefully leads to the power of C programming.
|
|
A Brief History of C
|
|
C is a general-purpose language which has been closely associated with the UNIX
operating system for which it was developed - since the system and most of the
programs that run it are written in C.
Many of the important ideas of C stem from the language BCPL,
developed by Martin Richards. The influence of BCPL on C proceeded indirectly
through the language B, which was written by Ken
Thompson in 1970 at Bell Labs, for the first UNIX system on a DEC
PDP-7. BCPL and B are "type less" languages whereas C
provides a variety of data types.
|
|
In 1972 Dennis
Ritchie at Bell Labs writes C and in 1978 the publication of The
C Programming Language by Kernighan & Ritchie caused a revolution in the
computing world
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.
-
UNIX developed c. 1969 -- DEC PDP-7 Assembly Language
-
BCPL -- a user friendly OS providing powerful development tools developed
from BCPL. Assembler tedious long and error prone.
-
A new language ``B'' a second attempt. c. 1970.
-
A totally new language ``C'' a successor to ``B''. c. 1971
-
By 1973 UNIX OS almost totally written in
``C''
|
|
|
|
|
Next
|
|
|