Surprisingly, not all computer programming languages are for programmers. Consider
the classic examples of nonprogrammer languages, COBOL and BASIC. COBOL was
designed not to better the programmer's lot, nor to improve the reliability of the code
produced, nor even to improve the speed with which code can be written. Rather,
COBOL was designed, in part, to enable nonprogrammers to read and presumably
(however unlikely) to understand the program. BASIC was created essentially to allow
nonprogrammers to program a computer to solve relatively simple problems.
In contrast, C was created, influenced, and field-tested by working programmers.
The end result is that C gives the programmer what the programmer wants: few
restrictions, few complaints, block structures, stand-alone functions, and a compact
set of keywords. By using C, you can nearly achieve the efficiency of assembly code
combined with the structure of ALGOL or Modula-2. It's no wonder that C and C++
are easily the most popular languages among topflight professional programmers.
The fact that you can often use C in place of assembly language is a major factor in
its popularity among programmers. Assembly language uses a symbolic representation
of the actual binary code that the computer executes directly. Each assembly-language
operation maps into a single task for the computer to perform. Although assembly
language gives programmers the potential to accomplish tasks with maximum
flexibility and efficiency, it is notoriously difficult to work with when developing and
debugging a program. Furthermore, since assembly language is unstructured, the final
program tends to be spaghetti code—a tangled mess of jumps, calls, and indexes. This
lack of structure makes assembly-language programs difficult to read, enhance, and
maintain. Perhaps more important, assembly-language routines are not portable
between machines with different central processing units (CPUs).
Initially,C was used for systems programming. A systems program forms a portion
of the operating system of the computer or its support utilities. For example, the
following are usually called systems programs:
Operating systems
Interpreters
Editors
the classic examples of nonprogrammer languages, COBOL and BASIC. COBOL was
designed not to better the programmer's lot, nor to improve the reliability of the code
produced, nor even to improve the speed with which code can be written. Rather,
COBOL was designed, in part, to enable nonprogrammers to read and presumably
(however unlikely) to understand the program. BASIC was created essentially to allow
nonprogrammers to program a computer to solve relatively simple problems.
In contrast, C was created, influenced, and field-tested by working programmers.
The end result is that C gives the programmer what the programmer wants: few
restrictions, few complaints, block structures, stand-alone functions, and a compact
set of keywords. By using C, you can nearly achieve the efficiency of assembly code
combined with the structure of ALGOL or Modula-2. It's no wonder that C and C++
are easily the most popular languages among topflight professional programmers.
The fact that you can often use C in place of assembly language is a major factor in
its popularity among programmers. Assembly language uses a symbolic representation
of the actual binary code that the computer executes directly. Each assembly-language
operation maps into a single task for the computer to perform. Although assembly
language gives programmers the potential to accomplish tasks with maximum
flexibility and efficiency, it is notoriously difficult to work with when developing and
debugging a program. Furthermore, since assembly language is unstructured, the final
program tends to be spaghetti code—a tangled mess of jumps, calls, and indexes. This
lack of structure makes assembly-language programs difficult to read, enhance, and
maintain. Perhaps more important, assembly-language routines are not portable
between machines with different central processing units (CPUs).
Initially,C was used for systems programming. A systems program forms a portion
of the operating system of the computer or its support utilities. For example, the
following are usually called systems programs:
Operating systems
Interpreters
Editors
Compilers
File utilities
Performance enhancers
Real-time executives
File utilities
Performance enhancers
Real-time executives
As C grew in popularity, many programmers began to use it to program all tasks
because of its portability and efficiency—and because they liked it! At the time of its
creation, C was a much longed-for, dramatic improvement in programming languages.
Of course, C++ has carried on this tradition.
With the advent of C++, some thought that C as a distinct language would die
out. Such has not been the case. First, not all programs require the application of the
object-oriented programming features provided by C++. For example, applications
such as embedded systems are still typically programmed in C. Second, much of the
world still runs on C code, and those programs will continue to be enhanced and
maintained. While C's greatest legacy is as the foundation for C++, it will continue to
be a vibrant, widely used language for many years to come.
because of its portability and efficiency—and because they liked it! At the time of its
creation, C was a much longed-for, dramatic improvement in programming languages.
Of course, C++ has carried on this tradition.
With the advent of C++, some thought that C as a distinct language would die
out. Such has not been the case. First, not all programs require the application of the
object-oriented programming features provided by C++. For example, applications
such as embedded systems are still typically programmed in C. Second, much of the
world still runs on C code, and those programs will continue to be enhanced and
maintained. While C's greatest legacy is as the foundation for C++, it will continue to
be a vibrant, widely used language for many years to come.
No comments:
Post a Comment