Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
2465 Discussions

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

syzygies
Beginner
319 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
319 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.
0 Kudos
syzygies
Beginner
319 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?
0 Kudos
AJ13
New Contributor I
319 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
0 Kudos
Alexey-Kukanov
Employee
319 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).

0 Kudos
Reply