C Programming Language
65
|
Flawless Sterling Silver Floating Heart, 13/16" X 13/16"
Price: $38.25
|
|
Horses Sterling Silver Running HORSE Pony Charm Pendant
Price: $7.98
|
|
Mother's Loving Embrace Birthstone Charm Pendant
Price: $39.00
List Price: $39.00 |
|
Sterling Silver Diamond "MOM" Moveable Charms (.10 cttw)
Price: $49.99
List Price: $124.99 |
|
Clear Swarovski Crystal Heart Pendant Charm
Price: $5.99
List Price: $11.99 |
|
Square Vitrial Light Swarovski Crystal Sterling Silver Pendant Charm
Price: $17.99
|
|
August Birthstone Charm - Hangs on Mother's Loving Embrace Pendant
Price: $3.00
List Price: $3.00 |
|
September Birthstone Charm - Hangs on Mother's Loving Embrace Pendant
Price: $3.00
List Price: $3.00 |
|
Om Hindu and Celtic Knot Sterling Silver Charm Pendant
Price: $16.99
|
|
10k Gold 3-stone Diamond Heart Pendant with 18" Chain (1/10 Cttw; I-J Color)
Price: $89.99
List Price: $250.00 |
C language is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the UNIX operating system. It has since spread to many other platforms. Although C was designed as a system implementation language, it is also widely used for applications. C has also greatly influenced many other popular languages, especially C++, which was originally designed as an extension to C. C is in many ways the most important of the hundreds of programming languages that have been developed in the world to date.
History
C was developed by Dennis Ritchie at Bell Labs in the early 1970s for systems programming on the PDP-11 computer. A graduate of HarvardUniversity with degrees in physics and applied mathematics, the modest Ritchie said that he wrote it because "it looked like a good thing to do" and that anyone else at the same time and in the same place would have done something similar.
Bell Labs was established in 1925 by AT&T (The American Telephone and Telegraph Company), the former U.S. telecommunications monopoly, and it subsequently became one of the most prolific sources of innovation that has ever existed. Launched in 1970, the PDP-11 was an innovative and successful model in Digital Equipment Corporation’s (DEC) popular and influential PDP series of minicomputers.
C grew out of, and acquired its name from, an earlier language called B, which was written by Ken Thompson. Also employed by Bell Labs, Thompson wrote the original version of the UNIX operating system there in 1969. B was a revision of a still earlier language, bon, which had been named after Thompson’s wife, Bonnie. (Brian W. Kernighan, 1984)
C was designed specifically as a powerful but minimalist language suitable for use in writing operating systems that were easy to adapt to various processors, and it was developed particularly with UNIX in mind. By 1973, it had become sufficiently powerful that it was used to rewrite most of the UNIX kernel, which had originally been written in PDP-11/20 assembly language. This resulted in the UNIX kernel becoming one of the first operating system kernels implemented in a language other than an assembly language. (Brian W. Kernighan, 1984)
Among the advantages of rewriting UNIX in C were that the code was more compact and that it was easier to port to other processors. This, together with AT&T’s providing UNIX to universities, businesses and government agencies, led to acceleration in the development of that operating system and contributed to a surge in the popularity of C. Nevertheless, B continued to be employed into the 1990s on Honeywell mainframes and for some embedded applications. (Brian W. Kernighan, Dennis M. Ritchie, 1988)
Ritchie and Brian Kernighan (who was one of the co-developers of the awk programming language) published the first edition of their classic book The C Programming Language in 1978. Known to C programmers as K&R, for many years this book served as an informal specification for the language, and the version of C that it describes is usually referred to as K&R C.
K&R C is often considered to be the most basic subset of the C language that a C compiler must support. Even after the introduction of ANSI C, it continued to be regarded as the lowest common denominator to which C programmers adhered when maximum portability was desired. This is because it took some time for most compilers to be updated to fully support ANSI C, and because well-written K&R C code is also legal ANSI C.
In 1983, the American National Standards Institute (ANSI) formed a committee to establish a standard specification for C. The standard was finally completed in 1989 and ratified as ANSI X3.159-1989 Programming Language C, which is commonly referred to as ANSI C. (Dennis M. Ritchie, 1988)
One of the goals of this standardization was to produce a superset of K&R C that incorporated many of the unofficial features that had subsequently been introduced into the language. The committee also added several additional features. ANSI C is now supported by most of the commonly used C compilers, and most C code written today is based on ANSI C.
Thereafter, the C language specification remained relatively static for some time, whereas C++ continued to evolve and Java was introduced (in 1994) as an attempt to further improves on C++. Finally, in 1999, a new standard, ISO 9899:1999, commonly referred to as C99, was published, and it was adopted as an ANSI standard in March 2000. C compilers have subsequently been moving towards compliance with C99, although support remains incomplete in some cases. (Samuel P. Harbison, Guy L. Steele, 2002)
Advantages of C Language
C is in many ways the most important of the hundreds of programming languages that have been developed in the world to date. Programming with C language has the following advantages:
- It is by far the most frequently used language for writing system software, (i.e., operating systems, other programming languages and compilers), and it is also widely employed for writing application programs.
- Portability: C, or a variety of C, is available on many machines. Programs written in standard C should run on any of them with little difficulty.
- C is a traditional, procedural language, that is, one that requires the programmer to provide step-by-step instructions for the CPU (central processing unit) or other processor. (A. K. Goyal, 2007)
- Efficient: c language is more efficient and flexible language.
- Memory requirement: C language needs small memory requirements to store the program.
- Multiuser/Multitasking: Programs written in C language can share a machines processing power.
- File handling: C language makes possible file handling and hierarchical file system with many file handling routines.
- Shell Programming: C provides a powerful command interpreter that understands over 200 commands and can also run C and user-defined programs.
- Pipe: where the output of one program can be made the input of another. This can be done from command line or within a C program.
- Library functions: Library functions additions to the operating system.
- System calls: UNIX has about 60 system calls that are at the heart of the operating system or the kernel of UNIX. The calls are actually written in C. All of them can be accessed from C programs. Basic I/0, system clock access are examples. The function open is an example of a system call. (A. K. Goyal, 2007)
Disadvantages of C Language
Despite many advantages, C language has the following disadvantages.
- Error Detection: Programming languages like C have philosophy like Programmers know what to do. It does not help or assist or warn you about anything, unless there is some syntactical error. Either there is some type mismatch, some macro redefinition, or some array’s index goes out of bound, etc...
- Pointers: Pointers have proven to be insecure in certain domains. Another disadvantage is regarding its memory clearance. C does not have efficient garbage collection.
- Minimalist language: C is a relatively minimalist programming language and is a lower level language (i.e., closer to assembly languages) than most others.
- Time consuming: The step by step approach is more time consuming and difficult to understand.
- Object oriented language: C is an Object-oriented language that makes extensive use of objects, which are software packets that contain a collection of related data and procedures for operating on that data what are difficult to handle. (Bjarne Stroustrup, 2000)
- Compiler: C compilers are not able to check variable types on memory pointed to by pointers, so erroneous pointer math can point to invalid values that the compiler cannot check. The program must do any checking, which requires careful design and implementation. (A. K. Goyal, 2007)
- Understanding: Many programmers do not understand pointers as thoroughly as they understand other aspects of the C language. Since a good program is written to be readable by other people, the potential confusion can lead to future maintenance-induced code errors.
- Prone to errors: program written in C language is cumbersome, ugly, and prone to errors.
- Complexion: C doesn’t support inheritance, makes it more complex to use coz everything has to be written from scratch.
In conclusion, besides all these, C is a powerful language, that’s why; a majority of Operating Systems are built using C. It is a universal programming language, which considerably eases and comforts the work of a professional programmer.
PrintShare it! — Rate it: up down flag this hub









