who read what c++ books and best learning practices?

P

puzzlecracker

It'd be interesting to compare the learning practices of c++
practitioners. I'll start with mine

The C++ Programming Language
C++ Primer
Effective C++
More Effective C++
Effective STL
The C++ Standard Library : A Tutorial and Reference (most of it)
Exceptional C++
More Exceptional C++
C++ strategies and tactics
Designed Patterns
Professional C++ (started reading, but didn't like it after first
chapter - thus stopped)

This summer goal:
Large Scale design in C++
C++ Templates
Thinking in C++ both volumes

Suggestions, other peoples experiences, comments?

How's is C++ doing these days?

I am ended being a java developer (never developed a commercial
software in C++, only for fun).

Cheers,

puzzlecracker
 
R

Roy Smith

"puzzlecracker said:
It'd be interesting to compare the learning practices of c++
practitioners. I'll start with mine

The C++ Programming Language
C++ Primer
Effective C++
More Effective C++
Effective STL
The C++ Standard Library : A Tutorial and Reference (most of it)
Exceptional C++
More Exceptional C++
C++ strategies and tactics
Designed Patterns
Professional C++ (started reading, but didn't like it after first
chapter - thus stopped)

This summer goal:
Large Scale design in C++
C++ Templates
Thinking in C++ both volumes

Suggestions, other peoples experiences, comments?

Not a bad reading list, but I do have a comment. Learn something else.
No, I'm not being facetious. Learn Python, Ruby, Smalltalk, C#, D,
whatever. Maybe not all of them, but certainly more than one. This may
not make you a better "C++ practitioner", but it'll make you a more rounded
programmer, as you see how similar problems can be solved in different ways.
How's is C++ doing these days?

It's a dying language. It's been dying for the last 10 years, and I
predict it will continue to be dying for the next 10 or 20 years. I think
there will continue to be a market for good C++ programmers for a long
time, but there will be an even better market for good programmers, for
whom C++ is just one of their skills.
 
P

puzzlecracker

It's a dying language. It's been dying for the last 10 years, and I
predict it will continue to be dying for the next 10 or 20 years. I think
there will continue to be a market for good C++ programmers for a long
time, but there will be an even better market for good programmers, for
whom C++ is just one of their skills.

What is a good compliment to C++?

What good technologies these exploit?

thx
 
J

Jonathan Mcdougall

Phlip said:
Wha'd he do wrong? We discuss books here all the time...

Oh, he's done nothing wrong per se with this post. It's just that he's
a chronic troll. Look it up, it`s actually fun.


Jonathan
 
R

Roy Smith

It's a dying language. It's been dying for the last 10 years, and I
predict it will continue to be dying for the next 10 or 20 years. I think
there will continue to be a market for good C++ programmers for a long
time, but there will be an even better market for good programmers, for
whom C++ is just one of their skills.

What is a good compliment to C++?[/QUOTE]

Well, in my original post, I listed "Python, Ruby, Smalltalk, C#, D". I
think any of those would be worth learning. They're all object oriented
languages, and all have somewhat different design goals and philosophies.
You indicated that you already know Java, so I didn't put that on the list;
it goes without saying that any well-rounded programmer today should have
at least some familiarity with Java.

Of those on my list, Smalltalk and D are probably the least commercially
important today (and C# the most). Smalltalk will give you a historical
perspective. D will let you explore some "what if" scenarios in current
language design.
 
A

Alan Johnson

puzzlecracker said:
What is a good compliment to C++?

What good technologies these exploit?

thx

I recommend the following, which have nothing to do with any particular
language:

1. Fundamentals of Algorithmics, by Gilles Brassard and Paul Bratley

A good introduction to algorithmics, with a decent balance between the
academic and the pragmatic.

2. Algorithmic Design, by Jon Kleinberg and Eva Tardos

This was clearly designed to be an undergraduate Algorithms text book,
complete with problem sets.

3. Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein

This book, referred to commonly as just CLRS, is less of an
introduction, and more of massive catalog of algorithms, along with
proofs of correctness and run-time analysis.


If you've really read (and understood) all the books on your list, then
you've already extracted all but a marginal amount of the value
available from studying C++, and you'd do much better to study computer
science in general.

If you are looking for a new language to learn, I suggest Lisp. It is
likely you have a good grasp on procedural programming, and if you read
and understood Design Patterns, you likely have a decent grasp on object
oriented programming as well. Learning Lisp would complete the picture
by teaching you functional programming (assuming you don't already have
experience with it).
 
P

Phlip

Jonathan said:
Oh, he's done nothing wrong per se with this post. It's just that he's
a chronic troll. Look it up, it`s actually fun.

I'm completely aware of his posting history and I only fault him for being
socially inept.

Sure, the FAQ might possibly cover "don't post short open-ended questions
that sound like prompts for exam essays", but I don't see how just posting
RTFM will improve things...
 
P

Phlip

I think the industry has yet to learn if the pure STL-style of programming,
beyond mere "C with Classes", will take off and lead to killer apps.
What is a good compliment to C++?

C++ represents the static typing model within OO. Get with a dynamic typing
model, such as Python, Ruby, or Smalltalk. Perl also qualifies - just as
Java qualifieds as another static model - but they come with major issues.
What good technologies these exploit?

Good dynamic languages are very easy to extend and bond with existing
systems. So for example Ruby distributions can easily bundle with GUI
toolkits like Tk, Qt, FOX, FLTK, etc. The ability to bond modules together
is very important.
 
A

aborovinsky

I'm completely aware of his posting history and I only fault him for being
socially inept.

I am not aware of this, please enlighten me about me..

Cheers,
 
P

Phlip

aborovinsky said:
I am not aware of this, please enlighten me about me..

Google puzzlecracker. He keeps asking short open-ended questions in ways
that generally don't prove he's learning. He routinely draws the "no
homework" response.
 
A

Axter

puzzlecracker said:
It'd be interesting to compare the learning practices of c++
practitioners. I'll start with mine

The C++ Programming Language
C++ Primer
Effective C++
More Effective C++
Effective STL
The C++ Standard Library : A Tutorial and Reference (most of it)
Exceptional C++
More Exceptional C++
C++ strategies and tactics
Designed Patterns
Professional C++ (started reading, but didn't like it after first
chapter - thus stopped)

This summer goal:
Large Scale design in C++
C++ Templates
Thinking in C++ both volumes

Suggestions, other peoples experiences, comments?
That's a good list. My top 10 list includes some of the above books.
Here are the top 10 programming books that I recommend to all C++
programmers:
Effective C++ by Scott Meyers
More Effective C++ by Scott Meyers
Exceptional C++ by Herb Sutter
More Exceptional C++ by Herb Sutter
Effective STL by Scott Meyers
C++ Coding Standards : 101 Rules, Guidelines, and Best Practices {Herb

Sutter, Andrei Alexandrescu}
Programming languages - C++ STANDARD ISO/IEC 14882:1998(E)
C++ Programming Language Special Edition, The by Bjarne Stroustrup
Efficient C++ by Dov Bulka & David Mayhew
Modern C++ Design by Andrei Alexandrescu
 
A

Alf P. Steinbach

* Axter:
That's a good list. My top 10 list includes some of the above books.
Here are the top 10 programming books that I recommend to all C++
programmers:
Effective C++ by Scott Meyers
More Effective C++ by Scott Meyers
Exceptional C++ by Herb Sutter
More Exceptional C++ by Herb Sutter
Effective STL by Scott Meyers
C++ Coding Standards : 101 Rules, Guidelines, and Best Practices {Herb

Sutter, Andrei Alexandrescu}
Programming languages - C++ STANDARD ISO/IEC 14882:1998(E)
C++ Programming Language Special Edition, The by Bjarne Stroustrup
Efficient C++ by Dov Bulka & David Mayhew
Modern C++ Design by Andrei Alexandrescu

I have a number of editions of Bjarne Stroustrup's The C++ Programming
Language, and I have Andrei Alexandrescu's Modern C++ Design. Those are
books I have gone back to numerous times and actually learned from.
Although for TCPPPL not in the last five or perhaps eight years, much
like I once had the complete Pascal syntax memorized.

I've also benefited from Lakos (Large Scale Design), but one should keep
in mind that that book is very dated.

From what I've seen of the table of contents, I think most programmers
will benefit from Andrei Alexandrescu and Herb Sutter's "C++ Coding
Standards": it's at a level far above and much more useful than the
placement of curly braces, and although I do not entirely agree with all
they apparently say, the table of contents indicated a Superb Book.

The rest, well.

I have the electronic version of "Thinking in C++" because I have had to
refer to its various bugs and misinformation in discussions. That said,
it's one of the best freely available introductions for complete
newbies. But it's very C-oriented.

"Effective C++": I've skimmed it, and had occasion to help people
correct the impressions they've gained from reading the book(s).
Generally good guidelines for newbies, but one must keep in mind that
they're guidelines and rules of thumbs, not absolute truths. Also, make
sure you have the latest edition, because many things have been
corrected (I know that because when I mailed Scott about something
someone quoted from the book, he replied it had been corrected in 2001).

"The C++ Standard Library" is probably a must for those who really want
to conquer the standard library. Me, I think if you can do something
with a simple and very clear for loop that's three lines, taking perhaps
15 seconds to write, it's plain silly to use 3600 seconds browbeating
the standard library into doing the same in one indecipherable line
supported by a potentially reusable adapter-thing. But hey, since it's
potentially reusable the support code doesn't count, does it? Anyway,
as I recall (from a newsgroup discussion example) this book contains at
least one example that's completely Unix-oriented and not noted as such.
I suspect the book is similarly upbeat about other features of the
standard library, neglecting to mention the less than glorious aspects.

And so on.

But there's one /very important/ book missing in this list.

Namely "Scientific and Engineering C++: An Introduction with Advanced
Techniques and Examples" by Barton and Nackman. It's old, but not
dated. Remind me to buy it!
 
P

puzzlecracker

Namely "Scientific and Engineering C++: An Introduction with Advanced
Techniques and Examples" by Barton and Nackman. It's old, but not
dated. Remind me to buy it!

are sure about this book?
 
L

loufoque

Roy Smith wrote :
It's a dying language. It's been dying for the last 10 years, and I
predict it will continue to be dying for the next 10 or 20 years.

Is it what people call 'a troll' ?
 
P

Phlip

loufoque said:
Is it what people call 'a troll' ?

No.

Screaming "Perl sucks" on a Perl group is, because that would be closer to
the truth. Everyone would get defensive about it.

A good definition of a troll is "one who seeks flames". A useful opinion of
C++'s relevance arc doesn't qualify.
 
H

Herb Sutter

Roy Smith said:
It's a dying language. It's been dying for the last 10 years, and I
predict it will continue to be dying for the next 10 or 20 years.

Funnily enough, C++ actually is not in decline. Other languages are; for
example, Java use peaked several years ago and has since been in minor
decline, but C++ has stayed steady and slightly growing overall (I've seen
various measures including job listings, books, and others).

For example, just yesterday I saw the following:

From http://www.eweek.com/article2/0,1895,1957139,00.asp

“The most sought-after skills, based on job postings, continue
to include C and C++ with postings requiring such experience
growing 5.5 percent in April.”

The actual report (the normal monthly 2 page report by Dice.com) can be
found here:

http://media.corporate-ir.net/media_files/priv/pr_130608/DiceMay06.pdf

Total number for posting on Dice.com are:

C/C++: 16,055
.Net: 11,676
Java: 11,531

For those who dislike the character string "C/C++", please feel free to
change the substring "/" to " and ". :)
I think
there will continue to be a market for good C++ programmers for a long
time,
True.

but there will be an even better market for good programmers, for
whom C++ is just one of their skills.

True.

Herb
 

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

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top