C-Based Languages
C has had a huge influence on modern-day programming
languages, many of which borrow heavily from it. Of the many C-based languages,
several are especially prominent:
C++ includes all the features of C,
but adds classes and other features to support object-oriented programming.
Java is based on C++ and therefore inherits many C features.
C#
is a more recent language derived from C++ and Java.
Perl was originally a fairly simple scripting
language; over time it has grown and adopted many of the features of C.
Considering the popularity of these
newer languages, it's logical to ask whether it's worth the trouble to learn C.
I think it is, for several reasons. First, learning C can give you greater
insight into the features of C++. Java, C#, Perl, and the other C-based
languages.
Programmers who learn one of these
languages first often fail to master basic features that were inherited from C.
Second, there are a lot of older C programs around; you may find yourself
needing to read and maintain this code. Third, C is still widely used for
developing new software, especially in situations where memory or processing
power is limited or where the simplicity of C is desired.
General
purpose language.
Structured
programming language.
Flexibility
towards systems programming.
Flexibility
towards application programming.
Availability
of large number of operators.
Availability of extensive library
functions.
Enhancing basic functionality.
Availability for computers of all
types.
Programs highly portable onto
multiple platforms.
Strengths and Weaknesses of C
Like any other programming language,
C has strengths and weaknesses. Both stem from the language's original use
(writing operating systems and other systems software) and its underlying
philosophy:
C is a
low-level language. To serve as a suitable language for systems programming, C
provides access to machine-level concepts (bytes and addresses, for example)
that other programming languages try to hide. C also provides operations that
correspond closely to a computer's built-in instructions, so that programs can
be fast. Since application programs rely on it for input/output, storage
management, and numerous other services, an operating system can't afford to be
slow.
C is a
small language. C provides a more limited set of features than many languages.
To keep the number of features small. C relies heavily on a “library” of
standard functions. A “function” is similar to what other programming languages
might call a “procedure.” “subroutine,” or “method”.
C is a
permissive language. C assumes that you know what you're doing, so it allows
you a wider degree of latitude than many languages. Moreover, C doesn't mandate
the detailed error-checking found in other languages.
No comments:
Post a Comment