# I need computer books!

**URL:** <https://boards.straightdope.com/t/i-need-computer-books/330794>\
**Category:** Cafe Society\
**Created:** [November 13, 2005, 12:47am UTC](https://boards.straightdope.com/t/i-need-computer-books/330794 "2005-11-13T00:47:44Z")\
**Posts on this page:** 5\
**Page:** 2

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [November 14, 2005, 9:49am UTC](https://boards.straightdope.com/t/i-need-computer-books/330794/21 "2005-11-14T09:49:44Z")

</div>

> [@Voyager](#):
>
> I’m not sure I’d recommend reading the C book before a C++ book. No reason to get into bad habits.

This simply makes no sense. C and C++ are two different languages that are used for different things, and good practice in one language isn’t good practice in the other (that is, beyond the fundamentals). Whether you learn C before C++ or C++ before C doesn’t make any difference to the kind of code you write in either language.

Don’t tell me that C++ is a ‘superset’ of C. That’s wrong both technically and philosophically: A lot of perfectly good, perfectly conformant C programs won’t compile if treated as C++, any more than a Pascal program would, and trying to solve programs the C way using C++ is akin to trying to fly a C-130 as if it were an F-16.

Ahem.

I’m apparently not going insane after all: _[The Elements of Programming Style](http://www.amazon.com/exec/obidos/tg/detail/-/0070342075/002-4008595-4714409?v=glance)_, by Kernighan and Plauger. I don’t own this one, or if I do my memory is worse than usual, but it seems to be getting good reviews.

---

<div class="post-metadata">

**Author:** ![Small\_Clanger](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@Small\_Clanger](https://boards.straightdope.com/u/Small_Clanger)\
**Post date:** [November 14, 2005, 10:48am UTC](https://boards.straightdope.com/t/i-need-computer-books/330794/22 "2005-11-14T10:48:10Z")

</div>

Once you know some **C** you may want to find [Deep C secrets](http://arstechnica.com/etc/books/deep-c.html). A cracking read.

And if you’re going to be using Unix go see this [Unix Hater’s Handbook](http://research.microsoft.com/~daniel/uhh-download.html). Now a free download. Seriously there’s a lot of good stuff in this book (well, sort of book. It’s a 3.5M pdf now). And you don’t actually have to hate Unix.

And I second (third?) Code Complete. The second edition has been considerably updated to cover OO languages. The book will probably only start to make sense after you’ve done a bit of programming but if you understand the principles from the start you could avoid all sorts of bad habits.

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [November 15, 2005, 9:31am UTC](https://boards.straightdope.com/t/i-need-computer-books/330794/23 "2005-11-15T09:31:46Z")

</div>

> [@Small Clanger](#):
>
> And if you’re going to be using Unix go see this [Unix Hater’s Handbook](http://research.microsoft.com/~daniel/uhh-download.html)

A lot of the stuff in this book is obsolete, even if it was correct at one time (and I’m not sure about that, either). Besides, he asked for computer books, not polemical screeds. 😉

---

<div class="post-metadata">

**Author:** ![Capt.Ridley\_s\_Shooting\_Party](https://avatars.discourse-cdn.com/v4/letter/c/cc9497/32.png) [@Capt.Ridley\_s\_Shooting\_Party](https://boards.straightdope.com/u/Capt.Ridley_s_Shooting_Party)\
**Post date:** [November 15, 2005, 11:36am UTC](https://boards.straightdope.com/t/i-need-computer-books/330794/24 "2005-11-15T11:36:39Z")

</div>

> [@](#):
>
> If we’re going into history and deep theory with this list, I have to recommend Gödel, Escher, Bach: an Eternal Golden Braid by Douglas Hofstadter. It goes into computability, formal systems, recursion, and formal logic in ways both fascinating and useful to programmers of all stripes.

Yeah, I was going to recommend this one actually. I had read it but I couldn’t remember the full title for the life of me.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [November 15, 2005, 2:32pm UTC](https://boards.straightdope.com/t/i-need-computer-books/330794/25 "2005-11-15T14:32:54Z")

</div>

I’m of two minds regarding GEB. On the one hand, when I read it, I was definitely impressed. Now that I actually know the things Hofstadter’s talking about, I think it’s kinda cringeworthy. It’s definitely a mistake to walk away thinking you’re actually familiar with any of the topics he discusses.

[Previous page](https://boards.straightdope.com/t/i-need-computer-books/330794.md?page=1)
