Programming in Scala
Martin Odersky, Lex Spoon, et al.
4.7 on Amazon
42 HN comments
The Art of Doing Science and Engineering: Learning to Learn
Richard W. Hamming and Bret Victor
4.7 on Amazon
40 HN comments
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
Pedro Domingos
4.4 on Amazon
40 HN comments
Operating Systems: Three Easy Pieces
Remzi H Arpaci-Dusseau and Andrea C Arpaci-Dusseau
4.7 on Amazon
40 HN comments
Start with Why: How Great Leaders Inspire Everyone to Take Action
Simon Sinek
4.6 on Amazon
36 HN comments
Java Concurrency in Practice
Brian Goetz , Tim Peierls, et al.
4.7 on Amazon
34 HN comments
Countdown to Zero Day: Stuxnet and the Launch of the World's First Digital Weapon
Kim Zetter, Joe Ochman, et al.
4.7 on Amazon
34 HN comments
Managing Humans: Biting and Humorous Tales of a Software Engineering Manager
Michael Lopp
4.4 on Amazon
33 HN comments
The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
Walter Isaacson, Dennis Boutsikaris, et al.
4.6 on Amazon
31 HN comments
Elements of Programming Interviews: The Insiders' Guide
Adnan Aziz , Tsung-Hsien Lee , et al.
4.6 on Amazon
31 HN comments
Accelerated C++: Practical Programming by Example
Andrew Koenig , Mike Hendrickson, et al.
4.2 on Amazon
31 HN comments
The Ascent of Money: A Financial History of the World: 10th Anniversary Edition
Niall Ferguson
4.5 on Amazon
30 HN comments
Programming Rust: Fast, Safe Systems Development
Jim Blandy, Jason Orendorff, et al.
? on Amazon
28 HN comments
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
Wes McKinney
4.6 on Amazon
28 HN comments
Think Python: How to Think Like a Computer Scientist
Allen B. Downey
4.6 on Amazon
27 HN comments
c1lnkgyponApr 19, 2019
netheronFeb 16, 2017
partycoderonSep 11, 2016
justin66onMay 14, 2015
jeyonFeb 12, 2010
kenjacksononDec 26, 2011
http://www.acceleratedcpp.com/
Of course, doesn't cover the latest rev of C++, C++11. But this should lay good foundation.
jsrnonApr 16, 2008
Accelerated C++ by Andrew Koenig and Barbara E. Moo is a very good book on C++, IMO. It's concise, it doesn't teach you everything but the 80% you will need most of the time and it introduces the STL right from the beginning.
burncycleonJune 22, 2015
zaphoydonFeb 23, 2014
emmelaichonFeb 18, 2017
It's by far my favourite C++ book and it's nice and short.
One drawback may be it's age; it's 17 years old.
On the other hand it was way ahead of it's time and good writing doesn't get old.
(ps. I quite like Stroustrup's books but to each their own)
stormbrewonFeb 23, 2014
bigbv2093onApr 1, 2015
jmcdowellonMay 18, 2013
ihnortononSep 8, 2013
Yes... But here's one place to start (somewhat analagous to "read Accelerated C++ and the OpenGL red book"): http://www.amazon.com/Practical-Flow-Cytometry-Howard-Shapir...
city41onDec 26, 2012
ggruschowonJan 21, 2009
It's a pretty good list, and I think he did a pretty decent job. Sure, everybody's list would be different, but there are some really good books on there that would serve people well to read them. It's interesting that Psychology of Computer Programming didn't make the list, as it frequently does.
It'd be nice to see another list without the exclusions though. K&R (C) and the Llama (Perl) book especially were very helpful to me. SICP made the list, and I kinda consider that a Scheme book.. I certainly learned plenty of programming/CS from other language-specific book. The 4.4 BSD book helped a lot of people too. Had I come up later, Accelerated C++ is a really nice book too.
MutinixonNov 13, 2011
A Game of Thrones (George R. R. Martin)
winkonDec 19, 2017
2. Ready Player One (Ernest Cline) - I liked it although it's kinda ridiculous and one-sided.
3. The Bloodline Feud (Charles Stross) - Actually part 1&2 of a series. Really need to continue, very good. I'd say this was not "oh I know what will happen next" which is kinda rare.
4. The Graveyard Book (Neil Gaiman) - It's ok, but not as good as I had hoped.
5. Coraline (Neil Gaiman) - It's a children's book, and very short, but I liked it a lot.
6. Accelerated C++ (Koening/Moo) - Not finished, I was under the impression it's "C++ for programmers well-versed in other languages" and for that it's a bit slow-starting, but not bad I guess
I really need to read more. :|
copenjaonApr 16, 2008
Accelerated C++ by Andrew Koenig and Barbara E. Moo
Second:
Effective C++ by Scott Meyers
Reference:
The C++ Programming Language Bjarne Stroupstrup
If you want some Guru level references I can list
a couple more advanced books if your interested...
zerktenonJune 23, 2017
From http://www.ensisoft.com/temp/cplusplus_stack.png (why is this a PNG and not a JPEG?), Modern C++ Design and C++ Template Metaprogramming are likely to be the most challenging. Don't get me wrong, they are fantastic works, but are probably not what you need right now.
C++ Primer, C++ Common Knowledge, and API Design for C++ are books that I think you should consider that are not listed in the post above. If you have never studied computer architecture it is an important subject to understand. There are good books like Computer Systems: A Programmer's Perspective, but others may have different opinions.
freyronJuly 13, 2019
I've heard Accelerated C++ is a good introduction, but it's quite old at this point. Would Accelerated C++ followed by Effective Modern C++ bring someone up to speed with modern C++? Is there a single book or online resource that would service this purpose better?
abstractwateronApr 16, 2008
http://www.acceleratedcpp.com/
For STL, I recommend Josuttis's "The C++ Standard Library". It's a STL reference book, very complete and easy to browse. There are also brief examples on own to use the classes and templates.
http://www.josuttis.com/libbook/
SloopJononJuly 29, 2019
My three favorite C++ books are C++ Common Knowledge, Modern Effective C++, and Effective C++. Two of those predate C++11, but most of the advice is still applicable.
As for introductory texts, I guess there's: Accelerated C++, C++ Primer, Discovering Modern C++, A Tour of C++, and of course C++ Crash Course (the book under discussion).
I wouldn't get too hung up on "modern" C++. The vast majority of C++ programmers learned the old stuff (the vast majority of which is still valid), then caught up on the new stuff with Effective Modern C++, blog posts, etc. Just as it's useful to know C before you learn C++, it's useful to know old C++ before you learn modern C++.
ecyrbonFeb 6, 2010
Our developers use Java (mostly).
Our research department uses whatever they are most comfortable with for research, but the result of their research is coded up in C++. If we had to do it over, we'd probably do everything in Java. Misc. notes:
Personally, I am WAY more productive in Java.
I supplement Java with Clojure.
I find the performance penalty for using Java is pretty-much negligible. It's always how you do it that matters more than what language you do it in. Don't use Java Generics for number crunching though... use a dedicated primitives collection library like Colt.
Java and C++ are quite similar in some respects. I would say though, that it's easier to go from C++ to Java, than from Java to C++.
Best C++ books:
Accelerated C++ by Andrew Koenig and Barbara E. Moo
Effective C++ by Scott Meyers (make sure you get the 3rd edition)
Best Java books:
Effective Java by Joshua Bloch
Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, and Joseph Bowbeer
If you have to use C++, start using the Boost C++ libraries early on. You can learn a great deal just by using the Boost libraries, and reading their documentation.
___1___onJan 18, 2013
That style tends to be similar to that used in the STL with some OOP thrown in - when suitable. It is about selecting the abstraction that is appropriately ensuring the code is abides by RAII.
I am convinced that the Javaish/Qt way of coding is destructive for C++ as inheritance is not as simple as the generic programming style once you get to grips with it and has a lot of gotchas. And the C - style is to me just plain wrong, especially if you are using any of the C++ standard library as they are privy to throw and without reliance on RAII your code will not be exception safe, if you want C use C.
dysocoonOct 14, 2013
Just check the reviews for it's textbook: http://tinyurl.com/cppcprog
In general, anything that says "X for Y programmers" is not worth it.
If you really want to learn C++, and you already know C, I suggest either "Accelerated C++" or "The C++ Programming language"
city41onFeb 23, 2014
0wnedonJuly 15, 2009
signa11onMar 11, 2015
i have always found bjarne-stroustrup's books to be quite useful. his latest one (Programming: Principles and Practice Using C++) seems to cover c++11/c++14 as well. might be worth checking out ? another author i really like is andrew-koenig, you can probably look at, Accelerated C++, from him. it is a bit dated, but still pretty good overall.
jbarhamonJan 27, 2010
khineronMay 25, 2021
I wanted to help myself and other folks develop better intuitions around the material, particularly focusing on short animations to develop better visual intuition along with working code examples of the material in the books.
Books covered (with a notebook for each chapter):
* Musimathics volumes 1 & 2 by Gareth Loy
* Introduction to the DFT by Julius Smith
* Introduction to Digital Filters by Julius Smith
* Physical Audio Signal Processing by Julius Smith
also a couple not directly about audio but helpful for the domain:
* Coding the Matrix by Philip Klein
* Accelerated C++ by Andrew Koenig and Barbara Moo
Hope someone gets some value from these - have fun!