Re: What can C++ achieve and how to learn C++?
"TB" writes:
I am thinking about learning a programming language and I want to
decide whether it is worthwhile spending my time learning the C++
programming language.
<snip>
I think the questions you have are extremely difficult to answer. The kind
of person who might have a useful answer is someone who teaches both Java
and C++ in an adult education class. He is probably a real programmer,
rather than an academic, and he knows both languages quite well.
I know some C++ but just have a very general idea about Java. I know you
will not be writing real and usefull programs in C++ alone. You will need
to learn the API of at least one OS and learn it quite well. For example,
there is no such thing as recognition of a file structure in C++, there are
simply naked files.
The STL is now considered, and in fact is, an intrinsic part of C++. It
consists, basically, of a bunch of high level data structures, such as
stacks, lists and trees. C++ allows one to defer the intent as to data
types by using templates, this can be handy and it can also be a real PITA
when some simpleton thinks his little program is written for the ages and
obscures everything by hiding his data types in templates.
C++ has multiple inheritance which I don't think Java has. This has its uses
but it requires a mind numbing amount of planning to use in a fruitful
manner. The I/O of C++ uses multiple inheritance and I would guess there
were hundreds or even thousands of man-hours used in simply writing the
specifications - so the routines written would all fit together.
I have picked up several languages over the years and C++ is *by far* the
most hideously complex language of them all. There are gotchas around every
corner.
From what little I know of Java, if I already knew Java, I think it would
require a lot of selling to convert me to C++ guy.