The Birth and history of C Programming Language
By: Emiley J
The C language shook the computer world. Its impact should not be underestimated, because it fundamentally changed the way programming was approached and thought about. The creation of C was a direct result of the need for a structured, efficient, highlevel language that could replace assembly code when creating systems programs. As you probably know, when a computer language is designed, trade-offs are often made, such as the following:• Ease-of-use versus power
• Safety versus efficiency
• Rigidity versus extensibility
Prior to C, programmers usually had to choose between languages that optimized one set of traits or the other. For example, although FORTRAN could be used to write fairly efficient programs for scientific applications, it was not very good for systems code. And while BASIC was easy to learn, it wasn't very powerful, and its lack of structure made its usefulness questionable for large programs. Assembly language can be used to produce highly efficient programs, but it is not easy to learn or use effectively. Further, debugging assembly code can be quite difficult.
Another compounding problem was that early computer languages such as BASIC, COBOL, and FORTRAN were not designed around structured principles. Instead, they relied upon the GOTO as a primary means of program control. As a result, programs written using these languages tended to produce "spaghetti code"—a mass of tangled jumps and conditional branches that make a program virtually impossible to understand. While languages like Pascal are structured, they were not designed for efficiency, and failed to include certain features necessary to make them applicable to a wide range of programs. (Specifically, given the standard dialects of Pascal available at the time, it was not practical to consider using Pascal for systems-level code.)
So, just prior to the invention of C, no one language had
reconciled the conflicting attributes that had dogged earlier efforts. Yet the need for
such a language was pressing. By the early 1970s, the computer revolution was beginning to
take hold, and the demand for software was rapidly outpacing programmers' ability to
produce it. A great deal of effort was being expended in academic circles in an attempt to
create a better computer language. But, and perhaps most importantly, a secondary force
was beginning to be felt. Computer hardware was finally becoming common enough that a
critical mass was being reached. No longer were computers kept behind locked doors. For
the first time, programmers were gaining virtually unlimited access to their
machines. This allowed the
freedom to experiment. It also allowed programmers to begin to
create their own tools. On the eve of C's creation, the stage was set for a quantum leap
forward in computer languages.
Invented and first implemented by Dennis Ritchie on a DEC PDP-11
running the UNIX operating system, C was the result of a development process that
started with an older language called BCPL, developed by Martin Richards. BCPL
influenced a language called B, invented by Ken Thompson, which led to the development
of C in the 1970s. For many years, the de facto standard for C was the one supplied
with the UNIX operating system and described in The
C Programming Language by
Brian Kernighan and Dennis Ritchie (Prentice-Hall, 1978). C was formally
standardized in December
1989, when the American National Standards Institute (ANSI)
standard for C was adopted.
The creation of C is considered by many to have marked the
beginning of the modern age of computer languages. It successfully synthesized the
conflicting attributes that had so troubled earlier languages. The result was a powerful,
efficient, structured language that was relatively easy to learn. It also included one other,
nearly intangible aspect: it was a programmer's
language. Prior to the
invention of C, computer languages were generally designed either as academic exercises or by
bureaucratic committees. C is different. It was designed, implemented, and developed by real,
working programmers, reflecting the way that they approached the job of programming.
Its features were honed, tested, thought about, and rethought by the people who actually
used the language. The
result was a language that programmers liked to use. Indeed, C
quickly attracted many followers who had a near-religious zeal for it. As such, it
found wide and rapid acceptance in the programmer community. In short, C is a
language designed by and for programmers.
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Subscribe to Tutorials
Related Tutorials
Sum of the elements of an array in C
Printing a simple histogram in C
Find square and square root for a given number in C
Simple arithmetic calculations in C
Passing double value to a function in C
Passing pointer to a function in C
Infix to Prefix And Postfix in C
while, do while and for loops in C
Archived Comments
1. i want to study c-programming language
View Tutorial By: rajesh at 2008-07-27 07:43:09
2. Hi Rajesh, you have found the right site. look at
View Tutorial By: mohan at 2008-07-27 08:55:17
3. i want very simple & easy notes on php which u
View Tutorial By: deepa at 2011-07-12 09:04:30
4. excellent article, thats why its C language is cal
View Tutorial By: jawad khan at 2012-06-28 08:41:18
5. thanks really usefull
View Tutorial By: MATHEW at 2012-06-29 00:55:57