Professional C__ - Marc Gregoire [509]
Wikipedia C++11, http://en.wikipedia.org/wiki/C%2B%2B11.
A description of all new features added to C++11.
ECMAScript Language Specification, www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf.
The syntax of the regular expressions in C++11 is the same as the regular expressions in the ECMAScript language, described in this specification document.
C
Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language (second edition), Prentice Hall, 1998, ISBN: 0-131-10362-8.
“K&R,” as this book is known, is a reference on the C language, but it’s not so useful for learning it the first time.
Samuel P. Harbison III and Guy L. Steele Jr., C: A Reference Manual, Fifth Edition, Prentice Hall, 2002, ISBN: 0-130-89592-X.
This book can be considered a replacement for the K&R book. Instead of a narrative style, where knowledge is embedded in the text, it is done as a more formal reference manual. Every C programmer should own a copy.
Peter Prinz, Tony Crawford (Translator), Ulla Kirch-Prinz, C Pocket Reference, O’Reilly, 2002, ISBN: 0-596-00436-2.
A concise reference to all things C.
Eric S. Roberts, The Art and Science of C: A Library Based Introduction to Computer Science, Addison-Wesley, 1994, ISBN: 0-201-54322-2.
Eric S. Roberts, Programming Abstractions in C: A Second Course in Computer Science, Addison-Wesley, 1997, ISBN: 0-201-54541-1.
These two books provide a great introduction to programming in C with good style. They are often used as textbooks in introductory programming courses.
Peter Van Der Linden, Expert C Programming: Deep C Secrets, Prentice Hall, 1994, ISBN: 0-131-77429-8.
An enlightening and often hysterical look at the C language, its evolution, and its inner workings.
INTEGRATING C++ AND OTHER LANGUAGES
Ian F. Darwin, Java Cookbook (Second Edition), O’Reilly, 2004, ISBN: 0-596-00701-9.
This book provides step-by-step instructions for using JNI to integrate Java with other languages, including C++.
ALGORITHMS AND DATA STRUCTURES
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms (Third Edition), The MIT Press, 2009, ISBN: 0-262-03384-4.
This text is one of the most popular introductory algorithms books, covering all the common data structures and algorithms.
Donald E. Knuth, The Art of Computer Programming Volume 1: Fundamental Algorithms (Third Edition), Addison-Wesley, 1997, ISBN: 0-201-89683-4.
Donald E. Knuth, The Art of Computer Programming Volume 2: Seminumerical Algorithms (Third Edition), Addison-Wesley, 1997, ISBN: 0-201-89684-2.
Donald E. Knuth, The Art of Computer Programming Volume 3: Sorting and Searching (Second Edition), Addison-Wesley, 1998, ISBN: 0-201-89685-0.
Donald E. Knuth, The Art of Computer Programming Volume 4A: Combinatorial Algorithms Part 1, Addison-Wesley, 2011, ISBN: 0-201-03804-8.
For those of you who enjoy mathematical rigor, there is no better algorithms and data structures text than Knuth’s four-volume tome. But, it is probably inaccessible without undergraduate knowledge of mathematics or theoretical computer science.
Kyle Loudon, Mastering Algorithms with C, O’Reilly, 1999, ISBN: 1-565-92453-3.
An approachable reference to data structures and algorithms.
RANDOM NUMBERS
Eric Bach and Jeffrey Shallit, Algorithmic Number Theory, Vol. 1: Efficient Algorithms, The MIT Press, 1996, ISBN: 0-262-02405-5.
Oded Goldreich, Modern Cryptography, Probalistic Proofs and Pseudorandomness, Springer, 2010, ISBN: 3-642-08432-X.
Both of these books explain the theory of computational pseudo randomness.
Wikipedia Mersenne Twister, http://en.wikipedia.org/wiki/Mersenne_twister.
A mathematical explanation of the Mersenne Twister to generate pseudo-random numbers.
OPEN-SOURCE SOFTWARE
The Open Source Initiative at www.opensource.org.
The GNU Operating System — Free Software Foundation at www.gnu.org.
These web pages for the two main open-source movements explain their philosophies and provide information about