Before we can begin to write serious programs in C, it would
be interesting to find out what really is C, how it came into existence and how
does it compare with other programming languages. In this chapter, we would
briefly outline these issues.
Four important aspects of any language are the way it stores
data, the way it operates upon this data, how it accomplishes input and output
and how it lets you control the sequence of execution of instructions in a
program. We would discuss the first three of these building blocks here.
What is C Programming Language?
C is a programming language developed at AT and T's Bell
laboratories of USA in 1972. It was designed and written by a man named Dennis
Ritchie. In the late seventies C began to replace the more familiar languages
of that time like PL/I, ALGOL, etc. No one pushed C. it wasn't made the
'official' Bell Labs language. Thus, without any advertisement, C's reputation
spread and its pool of users grew. Ritchie seems to have been rather surprised
that so many programmers preferred C to older languages like FORTRAN or PL/I,
or the newer ones like Pascal and APL. But, that's what happened.
Possibly why C seems so popular is because it is reliable,
simple and easy to use. Moreover, in an industry where newer languages, tools
and technologies emerge and vanish day in and day out, a language that has
survived for more than three decades has to be really good.
An opinion that is often heard today is --"C has been
already superseded by languages like C++, C# and Java, so why bother to learn C
today". I seriously beg to differ with this opinion. There are several
reasons for this. These are as follows:
1. C++, C# or Java make use of a
principle called Object Oriented Programming (OOP) to organize the program.
This organizing principle has lots of advantages to offer. But even while using
this organizing principle you would still need a good hold over the language
elements of C and the basic programming skills. So it makes more sense to first
learn C and then migrate to C++, C# and Java. Though this two-step learning
process may take more time, but at the end of it you will definitely find it
worth the trouble.
2. Major parts of popular operating
systems like Windows, UNIX, and Linux are still written in C. This is because
even today when it comes to performance (speed of execution) nothing beats C
.Moreover, if one is to extend the operating system to work with new devices
one needs to write device driver programs. These programs are exclusively written
in C.
3. Mobile devices like smart phones
and Tablets have become rage of today. Also, common consumer devices like
microwave ovens, washing machines and digital cameras are getting smarter by
the day. This smartness comes from a microprocessor, an operating system and a
program embedded in these devices. These programs not only have to run fast but
also have to work in limited amount of memory. No wonder that such programs are
written in C. with these constraints on time a space, C is the language of choice
while building such operating systems and programs.
4. you must have seem several
professional 3D computer games where the user navigates some object, like say a
spaceship and fires bullets at the invaders. The essence of all such games is
speed. Needless to say, such games won't become popular if they take a long
time to move the spaceship or to fire a bullet. To match the expectations of
the player the game has to react fast to the user inputs. This is where C
language scores over other languages. Many popular gaming frameworks (like
DirectX) have been built using C language.
5. At times one is required to very
closely interact with the hardware devices. Since C provides several language
elements that make this interaction feasible without compromising the
performance, it is the preferred choice of the programmer.
I hope that these are very convincing reasons why you should
adopt C as the first, and a very important step, in your quest for learning
programming.
Getting started with C
Communicating with a computer involves speaking the language
the computer understands, which immediately rules out English as the language
of communication with computer. However, there is a close analogy between
learning English language and learning C language. The classical method of
learning English is to first learn the alphabets used in the language, then
learn to combine these alphabets to form words, which, in turn, are combined to
form sentences and sentences are combined to form paragraphs.
Learning C is similar and easier. Instead of straight-away
learning how to write programs, we must first know what alphabets, numbers and
special symbols are used in C, then how using them, constants, variables and
keywords are constructed and finally, how are these combined to form an
instruction. A group of instructions would be combined later on to form a
program. This is illustrated in the figure below:
| similarities between learning English and C programming Language |
The C character Set
A character denotes any alphabet, digit or special symbol
used to represent information. Figure below shows the valid alphabets, numbers
and special symbols allowed in C.
| Character Sets |
No comments:
Post a Comment