Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
2449 Discussions

Best book C++ for C programmers, to support Intel TBB C++ constructs?

syzygies
Beginner
216 Views
I program in Haskell or Python for convenience, I've used dozens of languages, but C is still my native language. Like various other people I respect, I never drank the object-oriented Kool-Aid (please start a Lisp programmer on this question, not me, although they'll try to tell you you're using Lisp without knowing it ;-) and I rejected C++ back in the day when templates were a poorly implemented mess and generic programming was not yet supported. Later, like various other people, I needed objects for GUI programming and was able to master the Objective C extensions to C in a few hours. The fundamental criticism of C++ that I subscribe to is that it is too ornate for its own good; no one alive can learn it in a few hours from C. The theft of a few crucial Smalltalk features in the design of Objective C was a brilliant exercise in economy. Whatever brilliance is embodied in the design of C++, one cannot call it economical. In comparison, C is abstract machine language, and one can keep it entirely in one's head, going for days without making a mistake.

With this perspective, I would like to learn the newer features of C++ that made TBB possible, and that are required to use TBB. All my C++ books are verbose and dated. What is the current favorite book for bringing experienced programmers up to speed in C++?
0 Kudos
4 Replies
AJ13
New Contributor I
216 Views
I'm not going to get into a language debate, but you might want to try "Accelerated C++". It might be a good way to jump right into the C++ style. Some people unfortunately teach C++ as a better C, which while a valid point of view is misleading because you do not see the stuff which really separates it. For example, templates and function objects, operator overloading, the STL, etc.
syzygies
Beginner
216 Views
aj.guillon@gmail.com:
...you might want to try "Accelerated C++".

Yes, this does seem to have a good focus; I've ordered a used copy. 2000? Do I need a more recent reference also?
AJ13
New Contributor I
216 Views
I'm not sure, I haven't read that book personally but I did get a copy for a colleague of mine to get her away from thinking in C terms when she tries to learn C++. I looked around quite a bit for a good C++ book for her. The biggest problem I think, is thinking that C++ is a better C. It is really it's own beast.

I have "C++ in a Nutshell" from O'Reilly, I'm at a conference and I have it with me even now. I use this book A LOT when I'm doing serious C+ programming, you might want to check it out. It's good for looking it's up something quick, a very good reference but it's not a teaching book.

I lurk on #tbb on irc.freenode.net, be sure to drop by if you want a real-time chat.

AJ
Alexey-Kukanov
Employee
216 Views

Syzygies:
Whatever brilliance is embodied in the design of C++, one cannot call it economical.

Probably not the book that would quickly bring you up to speed with C++, but if you have time and interest, I would recommend reading Bjarne Stroustrup's "Design and Evolution of C++". It gaves the language father's perspective on many decisions made on different language features; also I think it is good reading if you are interested to understand the language deeper. I recently learnt about a newest Bjarne's paper "Evolving a language in and for the real world: C++ 1991-2006" and I anticipate another good reading (have not yet found time for it).

Reply