How
Java Relates to C and C++
Java
is directly related to both C and C++. Java inherits its syntax from C. Its
object model is adapted from C++. Java’s relationship with C and C++
is important for several reasons.
First, many programmers are
familiar with the C/C++ syntax. This makes it easy for a C/C++ programmer
to learn Java and, conversely, for a Java programmer to learn C/C++.
Second,
Java’s designers did not “reinvent the wheel.” Instead, they further refined an
already
highly successful programming paradigm. The modern age of programming began
with
C. It moved to C++, and now to Java. By inheriting and building upon that rich
heritage, Java provides a powerful, logically consistent
programming environment that takes the best of the past and adds
new features required by the online environment.
Perhaps most important,
because
of their similarities, C, C++, and Java define a common, conceptual framework
for the professional programmer. Programmers do not face
major rifts when switching from one language to another.
One
of the central design philosophies of both C and C++ is that the programmer is
in charge! Java also inherits this philosophy. Except for
those constraints imposed by the Internet environment,
Java gives
you, the programmer, full control. If you program well, your programs reflect
it. If you program poorly, your programs reflect that, too. Put differently,
Java is not a language with training wheels. It is a language for
professional programmers. Java has one other attribute in common
with C and C++: it was designed, tested, and refined by real,
working programmers. It is a language grounded in the needs and experiences of
the people who devised it.
There is no better way to produce a
top-flight professional programming language. Because of the
similarities between Java and C++, especially their support for object-oriented
programming, it is tempting to think of Java as simply the “Internet version of
C++.”
However, to do so would be a mistake. Java has significant practical and
philosophical differences. Although Java was influenced by C++, it is
not an enhanced version of C++.
For
example, it is neither upwardly nor downwardly compatible with C++. Of course,
the similarities with C++ are significant, and if you are a
C++ programmer, you will feel right at home with Java. Another
point: Java was not designed to replace C++. Java was designed to solve
a certain set of problems. C++ was designed to solve a different set of
problems. They will coexist for many years to come.
No comments:
Post a Comment