Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Code Complete (2nd Edition) by Steve McConnell. It is perhaps the broadest book on programming I've ever read. It oviously can't go indepth on its topics, but it significantly helps to turn a lot of "unknown unknowns" into "known unknowns".

It really helped my to go from knowing how to program to knowing how to implement software.



Code Complete has chapters on classes, functions, then several chapters on statements and several on variables. McConnell also refers to studies throughout - for example, he says studies show it is not necessarily that long functions are bad in and of themselves, but that the longer a function is, the more odds it will introduce more variables, and using too many variables in one function is bad. Somewhat dry, academic, great detail about the topics I mentioned with references to studies.

I also like Clean Code by Bob Martin. It covers similar ground to Code Complete but it is more opinionated, and was an easy read for me and has a narrative drive. As opposed to the more academic Code Complete which covers things thoroughly, and with references to studies. Both are good books, covering similar ground, I like them both.


When I began programming it was a book I respected. I read it twice.

But today it is a book I see with flaws. I think it is a dated book, made for an era changed by web development, agile and functional languages. My criticisms:

* It worries too much about little details on verbose object oriented languages (Java, C++). It is overly obsessed about ahead planning.

* it established myths that I am not sure to be true (cone of uncertainty, orders of magnitude different productivity among programmers).

* it failed to understand the agile philosophy and why it's ideas generate more adaptable software

I think Pragmatic Programmer is a more interesting book.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: