Title: Assignment 1 WXGA 6101
1Assignment 1WXGA 6101
- C Programming
- By
- Theivarayan Prakash Somasundaram
- WGA 030083
2History of C language
Jointly developed by the Mathematical Laboratory
at the University of Cambridge and the University
of London Computer Unit during the 1960s
Combined Programming Language (CPL)
Basic CPL (BCPL)
Created at 1967 as a scaled down version of CPL.
Developed by Martin Richard
B
Developed by Ken Thompson at Bell Laboratories in
1970 specifically for systems programming
C
Developed by Dennis Ritchie at Bell Laboratories
in 1972
3Why design C ?
- B, developed by Ken Thompson was used for
development of the Unix system. Dennis Ritchie
later created a new language called C which had - concise syntax
- powerful mix of high-level functionality
- features required to program an operating system
- Most of the components of Unix were eventually
rewritten in C
Where is it in use today ?
- Operating systems (Unix)
- Control and embedded systems
- Computer Games
Programming paradigm
4What application areas is it most suited for ?
- Embedded systems
- Backend processing
- Computer Games
C features ?
- Powerful
- Fast program execution
- Allows low level access
- Pointer manipulation capabilities
- Modular
5What are the claims made of its security,
portability, efficiency, extensibility/maintainabi
lity ?
- Security - Cs security depends on how the
program is developed. - Portability - C is capable in running in multiple
operating systems including Windows and Unix - Efficiency - C's power and fast program execution
comes from it's ability to access low level
commands - Extensibility/maintainability - C considered
highly extensive and maintainable provided the
program is maintained by an experienced
programmer. This is because a slight mistake
using pointers can cause buffer overflows.
6C Compilation/Interpretation/Execution model
7Scalar data objects
Composite objects
8Structured objects
Abstract data objects
9Active objects
10Final Evaluation
- Do you have any basis to agree or disagree with
any claims made of its security, portability,
efficiency, extensibility/maintainability? - I agree with all the claims as even though many
other languages has been introduced in the
market, C is still widely used in the industry. - What aspect of this language did you find most
difficult to learn/understand? - Pointers.
- How would you rate the programming environment?
compiler/interpreter messages? - I use VC as the compiler. The IDE environment
and interpreter messages are simple and straight
forward. - Would you use this language again and if so what
for? - Yes, for backend processing.
- Design mistakes (in your opinion or the opinion
of others)? Have they been corrected in other
languages that were a follow-on. What if anything
is missing in your opinion? - In my opinion the only problem with C language is
that it does not handle buffer overflow which
causes the program to crash. This however is not
a problem for advanced programmers.
11References
- H.M.Deitel and P.J.Deitel, C How To Program,
Prentice Hall International - Ivor Horton, Beginning C, Wrox Publication
- http//cm.bell-labs.com/cm/cs/who/dmr/chist.html
- http//www.cs.bell-labs.com/who/dmr/index.html
- http//www.engin.umd.umich.edu/CIS/course.des/cis4
00/c/c.html - http//computer.howstuffworks.com/c1.htm
- http//www.livinginternet.com/i/iw_unix_c.htm
- http//www.kuro5hin.org/story/2004/2/7/144019/8872