coming back to C++ for a job (C++ and Java)

J

jeffc

Agent Mulder said:
<Marmagya>
There are scores of books available on Java and C++. This group
comprises of experts in these two languages. Would anyone point out to a
few good reference books? Basically I am looking for books that target a
beginner in these languages.
</Marmagya>

There is wide consensus over the quality of these two C++ books:

-Koenig,Moo;Accelerated C++;Addison-Wesly
-Stroustrup;The C++ Programming Language;Addison-Wesly

Stroustrup, as the reference bible, does not exactly "target beginners".
That's a good book to have only in addition to others that help teach C++
programming. Accelerated C++ is good assuming you have solid programming
skills to begin with, e.g. in C. Thinking in C++ by Eckel is especially
good for transforming C programmers into C++ programmers. Effective C++ is
often quoted as a good book, and I disagree, but only in combination with
others. One that doesn't get recommended nearly enough is C++ FAQs by
Cline.
 
A

Agent Mulder

<jeffc>
Stroustrup, as the reference bible, does not exactly "target beginners".
That's a good book to have only in addition to others that help teach C++
programming. Accelerated C++ is good assuming you have solid programming
skills to begin with, e.g. in C. Thinking in C++ by Eckel is especially
good for transforming C programmers into C++ programmers. Effective C++ is
often quoted as a good book, and I disagree, but only in combination with
others. One that doesn't get recommended nearly enough is C++ FAQs by
Cline.
</jeffc>

Agreed. I only know it on-line, though, and holding the book is a difference
that makes a difference. I think my first steps in C++ were with

Prata;C++ Primer Plus (Covers C++ 2.0/2.1);Waite Group Press;1991.

but I'm not sure. The best you can get (beside Accelerated C++) is the
documentation that came with the software from Borland and from
Microsoft C/C++.

-X
 
J

jeffc

Agent Mulder said:
<jeffc>
Stroustrup, as the reference bible, does not exactly "target beginners".
That's a good book to have only in addition to others that help teach C++
programming. Accelerated C++ is good assuming you have solid programming
skills to begin with, e.g. in C. Thinking in C++ by Eckel is especially
good for transforming C programmers into C++ programmers. Effective C++ is
often quoted as a good book, and I disagree, but only in combination with
others. One that doesn't get recommended nearly enough is C++ FAQs by
Cline.
</jeffc>

Agreed. I only know it on-line, though, and holding the book is a difference
that makes a difference.

Actually, since you brought it up :), most people don't realize there is
actually a bigger difference. They see the FAQ online and just assume they
won't need the book. I found the book invaluable while learning, for it's
succinctness, clarity, and relevance. I still refer to it from time to time.
I can't recommend it enough. From the book:

FAQ 0.8 Why did we write this book?
.... Fourth, this project spurred us to expand the material vastly beyond
what is provided by the electronic FAQ. In the end, after adding all the
new FAQs, examples, and internal and external cross references, the book
contains five times more material than the electronic FAQ.
 
D

Dale King

Digital Puer said:
I'm looking at some software development jobs whose listings
require C++ experience. My history is that I have a strong
C background, and a few years of C++ from undergrad classes.
I've been working with Java since 1997 and consider myself
a decent Java programmer.

Now, if I apply for C++ jobs, do you think it's important that
I know the fine details of C++? or would a strong, generalised
knowledge of object-oriented programming be more important?
I don't think there's anything major in C++ I wouldn't recall
if I had a few minutes to look it up in a book.

From my experience, your experience in Java probably makes you a better C++
programmer (once you pick up some of the finer points of C++) than someone
that is strictly C/C++ experience. I know that I am a much better C++
programmer now than I was before Java. While C++ can be used in an
object-oriented fashion, it quite frequently isn't or is done poorly. I find
that Java just encourages better programming techniques. That is not to say
that those techniques cannot be applied in C++, just that their use is not
as widespread and you are more likely to know them from your experience in
Java. So you might take that approach in selling yourself to the employer.
 
D

Dale King

Digital Puer said:
To answer various responses, I'm looking at C++ largely because
the particular jobs I'm looking for happen to require C++, not
because I don't like Java anymore. Also, I'll start working with
C# the day they pry my cold, dead hands away from my Sun UltraSPARC
keyboard.

I don't have any trouble with using C# the language, but would refuse to use
..NOT. If C# were adopted by a third party and did not use .NOT then I would
have no trouble using it. I actually think that for embedded programming
(the are I work in) C# as a language might be a better fit in some cases
than C++ or Java.
destructor is, and how to resolve circular inheritence (something
Java doesn't have), but that just means I have more to read.

RTTI is basically a way to find out the type of an object at runtime so it
lets you do something like instanceof in Java and to get information about
the class. C++ normally does not check your casts like Java does. RTTI also
gives you a way to have you your casts checked. You can think of it as a
very limited version of reflection.

In Java, every method is virtual unless it is declared final or private. In
C++ it is only virtual if you declare it so. If your class is going to be
subclassed then always declare a virtual destructor in the base class.

The solution to the last (if I understand what you mean) is to never use
multiple inheritance.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,152
Latest member
LorettaGur
Top