HackerNews Readings
40,000 HackerNews book recommendations identified using NLP and deep learning

Scroll down for comments...

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

Prev Page 3/16 Next
Sorted by relevance

c1lnkgyponApr 19, 2019

Even if it is a bit dated, Accelerated C++ book is a great resource for c programmers.

netheronFeb 16, 2017

Accelerated C++ involves working on a program to analyze student grades. The book itself is excellent, but the overarching project is very dry.

partycoderonSep 11, 2016

For C++, there is a book called Accelerated C++ by Koenig and Moo. It was very enjoyable to work through it.

justin66onMay 14, 2015

Accelerated C++: Practical Programming by Example is a great "getting up to speed" book.

jeyonFeb 12, 2010

Accelerated C++ by Koenig and Moo is a great choice. Stick with it.

kenjacksononDec 26, 2011

Accelerated C++ maybe? I haven't read LPTHW, but Accelerated C++ is a good book to learn C++ from, and is very example focused:

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

> I am looking for suggestions for good books for C, C++, STL and Symbian.

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

Accelerated C++ by Andrew Koenig and Barbara Moo (http://www.amazon.com/Accelerated-C-Practical-Programming-Ex...). One of the best introductory programming books, and one of the best introductory books in general, that I've ever read.

zaphoydonFeb 23, 2014

I've been looking for a good book that teaches idiomatic C++11 programming from scratch. Something like Accelerated C++ or Programming: Principles and Practice Using C++ but using C++11/14 only. Lots of the C++11 books I've found have assumed you know C++98 and say what the differences are. Anyone have any suggestions?

emmelaichonFeb 18, 2017

I think you'd like Accelerated C++ by Koenig and Moo.
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

The best introductory text to modern C++ is, in my opinion, Accelerated C++ by Moo and Koenig. It's concise and teaches the language instead of spending 6 chapters teaching fundamental algorithms (yet another broken linked list class!) or OO principles (which often results in terrible C++).

bigbv2093onApr 1, 2015

As someone who wants to learn modern c++, what are some good resources/books to learn from ? I have python and java experience and I have been reading Accelerated C++ since a while now.

jmcdowellonMay 18, 2013

This was one of the great things about the book Accelerated C++ when I was picking up C++ but had already been programming for a few years. This sort of thing seems harder to find for other languages though.

ihnortononSep 8, 2013

> "Hey guys, I know a little HTML and I was wondering if I could build a MMORPG..."

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

My number one book on a list like this would be Accelerated C++ by Andrew Koenig and Barbara Moo. The book is targeted at beginners, but is challenging and very intelligent. Koenig is concerned with teaching good practices and overall design. It was one of the first programming books I ever read and I struggled through it at first. By doing every exercise and persisting, I think it played a significant role in the kind of programmer I am today. To me the book is in a similar space as SICP. Sadly it's now out of date, but at least was written using the STL.

ggruschowonJan 21, 2009

Since there isn't anything else positive on here right now..

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

Accelerated C++ (Andrew Koenig and Barbara E. Moo)
A Game of Thrones (George R. R. Martin)

winkonDec 19, 2017

1. Off to Be the Wizard (Scott Meyer) - Very good.

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

First:

Accelerated C++ by Andrew Koenig and Barbara E. Moo

   -Great book aimed at absolute beginners written
by top of the line experts. Koenig worked at
AT&T and was a major player in the C++ standards
committee.

Second:

Effective C++ by Scott Meyers

    -This book is spectacular and will take you from
beginner to the next level. It is very well
written and an easy read. More Effective C++
and Effective STL are also good.

Reference:

The C++ Programming Language Bjarne Stroupstrup

    -This should be your reference book.

If you want some Guru level references I can list
a couple more advanced books if your interested...

zerktenonJune 23, 2017

It's hard to know without knowing what your intro to C++ looked like, and what your background is. If you can get through Accelerated C++, then some of those books may be useful once you've gotten some practice.

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

Considering that C++ has evolved a lot over the years (and grown quite large), what are good resources for a programmer to get started with the language in 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

I also had to learn C++ fast, and "Accelerated C++", by Andrew Koenig and Barbara E. Moo was great. The book assumes you are a programmer, it's not dumbed down and most importantly it's only around 300 pages. In the time contraints I had (a month) I couldn't afford to deal with Lippman's C++ Primer or Stroustrup bible (both reknowned books, but over 900 pages). You don't even need to finish Accelerated C++ to start coding in C++.
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

Everyone has a different path, but frankly, I wouldn't recommend C++ as a first programming language. It's much easier to comprehend if you have some background in another language.

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

I happen to work for a company in the financial sector.

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

C++ is a multiparadigm language, all of the styles you mention are extreme bastardisations of the style laid out in books like Accelerated C++, Effective C++, Exceptional C++. Modern C++ Design and so on.

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

I heard awful things about this course.
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

Do you have any examples? I just flipped through the book and couldn't find any. Accelerated C++ was my first ever programming book. It was quite a doozy to get through at the time, but I feel like I'm forever indebted to it. Koenig's attention to detail and ability to explain what the machine is actually doing and the consequences in your code is still unmatched as far as I can tell.

0wnedonJuly 15, 2009

Learning C++ made me a better programmer overall. I suggest "Accelerated C++". It is the one book I most enjoyed. It gets you up and running with the STL quickly. I also like Bjarne Stroustrup reference books. C++ is my favorite language next to Python. I use them both daily. When you must have fast, native code, C++ is hard to beat.

signa11onMar 11, 2015

> ... makes me want to learn modern C++. Do you have any suggestion on where to start?

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

It's a book but Accelerated C++ by Koenig and Moo has been well reviewed.

khineronMay 25, 2021

Shameless plug but I put together some Jupyter notebooks that walk through several of the fantastic books recommended in this thread: https://github.com/khiner/notebooks

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!

Built withby tracyhenry

.

Follow me on