Professional multicore programming : design and implementation for C++ developers / Cameron Hughes, Tracey Hughes, Wiley, 2008
Concurrent programming has become important for a greater proportion of all programmers since commodity PC’s went multicore. Good books on this have been in OPL for years (click on the 5-star tag to see some of them). This book is useful because it gathers all the important topics into one place. It starts with a good introduction, then outlines machine architecture for Intel, AMD, Sparc and Cell. Then it gets into programming structure for thread synchronization, with code examples in C++. It has good reference information on Posix threads (pthreads). It is intended for C++ programmers, but Java programmers will gain from reading it too. It is not the most readable book in the library.
Programming principles and practice using C++ / Bjarne Stroustrup, Addison-Wesley, 2009
Here is a really good introduction to C++, written by the original designer of C++. At 1200 pages, it will keep you busy for a while. It does not assume any programming experience, and is a good textbook for a university course.
Programming Microsoft Visual C♯ 2008 : the language / Donis Marshall, Microsoft Press, 2008
Here are 750 pages of reference information on C#.
Foundations of Qt development / Johan Thelin, Apress 2007
Here is another great book on the best C++ development environment. QT is more than just a library of GUI functions. It supports XML i/o, I18n, threading, databases, networking, and qmake. Of course, it does portable GUI’s well. Free for open source projects!
Herb Schildt’s C++ programming cookbook / Herb Schildt, McGraw-Hill, 2008
The best way to learn C++ is to read some well written code, preferably with brief comments or discussion. This book is your best source for the main STL and C++ library idioms. When you are writing new code, you would do well to have this book close at hand.
C# 2008 for programmers / Paul J. Deitel, Harvey M. Deitel, Prentice Hall, 2009
Here are 1000+ pages packed with good tutorial material on C#, ASP.NET, WCF, WPF, and Silverlight.
Linux system programming / Robert Love, O’Reilly, c2007
If you are writing the next universal db converter or such in C on Linux, this book is for you. Linux has many improvements over Unix, and this book is an easily read manual for them. It covers IO, process and memory management, signals, and time. No networking or pthreads.
Advanced programming in the Unix environment / W. Richard Stevens, Stephen A. Rago, Addison-Wesley, 2005
If you are doing systems programming in C on Unix, this book is indispensable. It is slightly dated, and does not cover the latest improvements in Linux.
Programming interviews exposed : secrets to landing your next job / John Mongan, Noah Suojanen, Eric Giguère. Wiley Pub., 2007
If you work in technology, whether programming or similar, you probably need to look for new work now and then. This book is the best I have seen for advice on how to interview, negotiate pay, and prepare your resume. Useful to hiring managers too.
There is another way to approach this book. More than half of the book is programming algorithms that you would learn in undergrad CS, and you can read it to refresh your knowledge.
Effective C++ : 55 specific ways to improve your programs and designs / Scott Meyers, Addison-Wesley, 2005
Some very useful idioms in C++ are not obvious. For example, making a class non-copyable. Maybe you know of the idiom but don’t know the simplest or cleanest way to apply it. Maybe you have never encountered it. This book discusses some of the most useful ones.