Computer books



  • I was looking for some nice new books to fill my bookcase with, but came to the conclussion that every book i was even mildly interested in was 50 euro's or more.
    Now i know good books aren't cheap, but i do know some good books that are cheap, so i figured there must be a few gems people know about.

    I was looking specifically at Computer Graphics: Principles and Practice in C since i heard/read it was good, but it seems most algorithm books are pretty expensive, or the equivalent of "learn language x in 24 hours" (which imho are mostly crap)

    So i was wondering, what good computer programming books do you know that are cheap?

    These are the books i own that are relatively cheap (which i define as <50 euro's):

    Head First Design Patterns (Head First)

    Head First Design Patterns

    Head First Object-Oriented Analysis and Design (Head First)

    Head First Object-Oriented Analysis and Design

    The Pragmatic Programmer: From Journeyman to Master

    The Pragmatic Programmer:

    First two are really "learn how-to" books, but might also work as a casual read. Last one is basically just a casual read book, with best practices and what not, a pretty good read that is light digest, although there's quite a bit of stuff in it that i don't agree with or find wonky at best.
    Of course a code complete should be mentioned, but when i bought it it was around 50 euro's so it doesn't really fall into the cheap zone.

    Also to clarify, its not like i'm cheap on books or anything, but i was just trying to find some nice cheap programming/algorithm books to broaden my knowledge a bit on something other then web specific stuff or generic programming. However paying in excess of 60 euro's for a book that i might not even like/read is a bit much.  


     

     



  • I guess I'm lucky that people just give me books and say "read this.  it will help you."  I'm not sure I would pay 50 euro (which these days is about $70 US) for a book, no matter the subject.  Maybe I'm a cheapass too. 

    Sorry, no suggestions.  The last technical-ish book I bought was ... well, junior year of college. 



  • Java in a nutshell (Orielly)

    The complete refence to C++, fourth edition (McGraw Hill)

    The complete refence to javascript, second edition (McGraw Hill)

    Code Complete 2 (Microsoft)



    All afore mentionned books are 50$ +/- 5$ US. Note publishers are in parens. First one I can't vouch for, the remainning three I've read front to back at least thrice (roughly two dozen times for the C++ reference specifically). I have more than that, but I don't feel like typing out every one I have, those are just the biggest ones I have.



  • I've found that, as a general rule, anything from O'Reilly is worth the money. There's been exceptions either way (wish I'd never bought 'Web Client Programming With Perl', but then, also wish I hadn't had to buy Que's Using Microsoft Access 97 either...).

    Most of the stuff published by Que and its brethren seem to be basically just a long set of screen shots pasted in between verbatim copies of vendor documentation, with the occasional bit of flavor text sprinkled on by the "author". 



  • IMO the GOF book ("Design Patterns: Elements of Reusable Object-Oriented Software") falls into that category; I also recommend "Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series)".

    You might also enjoy "Herding Cats: A Primer for Programmers Who Lead Programmers".



  • Reading a book about programming is like reading a book about football: it's mostly for the spectators, not the players.



  • @asuffield said:

    Reading a book about programming is like reading a book about football: it's mostly for the spectators, not the players.

    What else would you propose to improve one's skill set? 



  • @ammoQ said:

    @asuffield said:

    Reading a book about programming is like reading a book about football: it's mostly for the spectators, not the players.

    What else would you propose to improve one's skill set? 

    Practice, of course. I thought that was obvious... 



  • @asuffield said:

    @ammoQ said:

    @asuffield said:

    Reading a book about programming is like reading a book about football: it's mostly for the spectators, not the players.

    What else would you propose to improve one's skill set? 

    Practice, of course. I thought that was obvious... 

    Not really. Practice is necessary, but without external input, it will most likely go into the wrong direction. Just look at the work of some self-taught programmer who has been working alone for many years.

    It also common for whole teams of clueless people to practice the same bad style without knowing what's wrong (sometimes, without even noticing something is wrong, since they have no benchmarks to compare their work against). 

    Of course it's preferable to work in a team with excellent coworkers, who can give you feedback about what's good and what isn't, as well as show you some better ways to do it,  but such coworkers are not available everywhere.

    For that reason, I'm convinved that reading books is an important complement to practice. 



  • @ammoQ said:

    You might also enjoy "Herding Cats: A Primer for Programmers Who Lead Programmers".

    But I really liked "Herding Cats:  No This is Really a Book About Cats"



  • @ammoQ said:

    It also common for whole teams of clueless people to practice the same bad style without knowing what's wrong (sometimes, without even noticing something is wrong, since they have no benchmarks to compare their work against). 

    ...

    For that reason, I'm convinved that reading books is an important complement to practice. 

    The flaw in this idea is that the authors of books are no more reliable than any other random schmuck. Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 



  • @asuffield said:

    The flaw in this idea is that the authors of books are no more reliable than any other random schmuck. Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 

    Which is why the OP is looking for GOOD books. 



  • @asuffield said:

    The flaw in this idea is that the authors of books are no more reliable than any other random schmuck. Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 

    There are good books and bad books, but natural selection will make sure that good books live longer and sell more. For that reason, publishers prefer to publish good books. Anyway, there is no absolute wisdom in the field of IT. Something that is a good practice in one project might be overengineering in another.



  • @asuffield said:

    The flaw in this idea is that the authors of books are no more reliable than any other random schmuck. Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 

     Hi Assiffield! Glad to see you're still going about your usual business of contributing constructive input! Kthxbye


  • Discourse touched me in a no-no place

    @asuffield said:

    Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 

    Herbert Schildt springs to mind.<font size="-1"> Yashwant Kanetkar is another more recent one.
    </font>



  • @ammoQ said:

    There are good books and bad books, but natural selection will make sure that good books live longer and sell more.

    You must not have met the consumers yet. There's no appreciable correlation between quality and popularity. Stupid always outnumbers not-stupid, and popularity is all about the biggest numbers.



  • @Mikademus said:

    ...contributing constructive input...

    Speaking of cultures of stupidity, there's a good one. I have always found it impressive how people can believe in that particular bit of utter nonsense when it is so plainly contradicted by the world around them - it's the intellectual equivalent of sticking your fingers in your ears and going "NAH NAH NAH I CAN'T HEAR YOU NAH NAH NAH".

    Destruction is fundamentally necessary, ask any building contractor what they do first on a new site.



  • @asuffield said:

    You must not have met the consumers yet. There's no appreciable correlation between quality and popularity. Stupid always outnumbers not-stupid, and popularity is all about the biggest numbers.

    In general, I tend to agree with you. Soap operas, boy groups and stuff. When it comes to books about programming, things are a little bit different - stupid people just fall into the "no book at all" category, so they rather "read" Playboy or Hustler than bad books about programming.



  • As however much it pains me, i will have to agree with asuffield, at least partially. There are lots of bad really really really really bad books about programming.
    And even worse, seeing as how many of them there are, i'm going to assume someone is actually buying and reading them. 

    However as someone else has already pointed out, this is exactly the reason why books get discussed and one should be prudent when picking books. But while it is my opinion that price and quality in books mostly are related there are some cheap gems out there, which was the whole point of this thread anyway.

    Not that it matters much, since i've al ready ordered a few for the upcoming holidays. (<font face="Verdana, Arial, Helvetica, sans-serif" size="2">UML 2.0 Pocket Reference, </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Neuromancer and </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">The Speed of Dark for only 27 euro combined. (would have loved to add a book about algo's in there, so if anyone knows...))</font>

    However saying that books by definition aren't worth reading because they might be bad is stupid and quite obviously a troll. (and might i add a successful one)



  • @stratos said:

    As however much it pains me, i will have to agree with asuffield, at least partially. There are lots of bad really really really really bad books about programming.

    Fortunately, quite a lot of them is easy to spot. Just look out for books with 800 and more pages, covering a topic that other books describe in 300 pages. Chances are they spend 150 pages on describing the history of TCP/IP, the internet and the WWW though the book cover says the book is about e.g.  Java Server Faces. Such books oviously target the "the more, the better" market of clueless people.



  • @stratos said:

    I was looking for some nice new books to fill my bookcase with, but came to the conclussion that every book i was even mildly interested in was 50 euro's or more.

    How about you get yourself access to a university library for christmas? You can get all the books you want for next to nothing. If you really decide you need a book as a permanent reference you can always buy it after you've read it :)

     



  • Mikademus: ~you're not contributing constructively~ 

    @asuffield said:

    Destruction is fundamentally necessary, ask any building contractor what they do first on a new site.

    Thanks! That actually explains why you act as you do. And why so many people loath academics (because you and your ilk gives us a bad name).

    Anyway,  lightening up the mood with a vaguely computer-related lolkitten:

    [img]http://icanhascheezburger.files.wordpress.com/2007/12/funny-pictures-pirate-cat.jpg[/img]

     

    We now return you to your regularly scheduled discussion interspersed by condescending grumpiness.
     



  • @Mikademus said:

    And why so many people loath academics (because you and your ilk gives us a bad name).

    Yes, people absolutely love being stupid, and hate anything that exposes them. Strange but depressingly true. 



  • Hackers and Painters by Paul Graham.      It's not really all about programming, some of it is about economics or just life, but it's a great read for people who think like hackers.



  • @asuffield said:

    Destruction is fundamentally necessary, ask any building contractor what they do first on a new site.

    Having worked in construction (and note the name of the field: construction), I agree that the first thing a contractor does is demolition.  But it's typically a selective demolition, not a total raze-and-rebuild.  By taking to things with a wrecking ball, you would demolish the parts that are still worthwhile, only to rebuild them later.  Ask any building contractor, and they'll tell you this is a stupid idea.



  • @asuffield said:

    Yes, people absolutely love being stupid, and hate anything that exposes them. Strange but depressingly true. 

    Quoted for irony, given whom you quoted and this person's behaviour in this thread. I'm not naming names. ;)
     



  • @ammoQ said:

    IMO the GOF book ("Design Patterns: Elements of Reusable Object-Oriented Software")

    Yes this one has been on my list to buy for some time now.

    I was checking it out, to  perhaps buy it, and found that i could get two versions.

     

    Design patterns 

    <!-- BEGIN endeca_books/book_slot --> <script type="text/javascript"> <!-- var newWin = new Object(); function CloseWindow(){ if ((newWin.win != null) && (!newWin.win.closed)) newWin.win.close(); } function BigImage(url){ if ((newWin.win != null) && (!newWin.win.closed)) { newWin.win.location = url; } else { newWin.args = 'scrollbars=no'; newWin.url = url; newWin.name = "Zoom"; newWin.width = 550; newWin.height = 700; if (document.layers) { newWin.left = window.screenX + ((window.outerWidth - newWin.width) / 2); newWin.top = window.screenY + ((window.outerHeight - newWin.height) / 2); var attr = 'screenX=' + newWin.left + ',screenY=' + newWin.top + ',resizable=no,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args; } else { newWin.left = (screen.width - newWin.width) / 2; newWin.top = (screen.height - newWin.height) / 2; var attr = 'left=' + newWin.left + ',top=' + newWin.top + ',resizable=no,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args; } newWin.win=window.open(newWin.url, newWin.name, attr); newWin.win.opener=self; } newWin.win.focus(); } // --> </script>
    <td align="center">
      
        
          	<img src="http://img.bol.com/intershoproot/BOOKCOVER/FC/0/2/0/1/6/0201633612.gif" alt="Design Patterns" border="0">
        
        
      
      
    </td>
    
    <td><img src="http://img.bol.com/intershoproot/eCS/Store/nl/x.gif" border="0" height="1" width="5"></td>
    
    
    <td width="100%"><p><span class="textColor">Elements of Reusable Object-Oriented Software</span></p><p><span class="small">
          Paperback
           | 416 Pagina's
           | Addison Wesley Publishing Company
           | 2400e Editie
          
          
          
          
          
            <br><b>ISBN10: </b>0201633612
           
          
            
              | <b>ISBN13: </b>
             
            9780201633610&nbsp;
           
          </span><br></p></td></tr></tbody></table><p>&nbsp;For EUR 50,99</p><p>and </p><p>&nbsp;</p><p><b>Design patterns&nbsp;</b></p>
    
    <!-- BEGIN endeca_books/book_slot --> <script type="text/javascript"> </script> <!-- var newWin = new Object(); function CloseWindow(){ if ((newWin.win != null) && (!newWin.win.closed)) newWin.win.close(); } function BigImage(url){ if ((newWin.win != null) && (!newWin.win.closed)) { newWin.win.location = url; } else { newWin.args = 'scrollbars=no'; newWin.url = url; newWin.name = "Zoom"; newWin.width = 550; newWin.height = 700; if (document.layers) { newWin.left = window.screenX + ((window.outerWidth - newWin.width) / 2); newWin.top = window.screenY + ((window.outerHeight - newWin.height) / 2); var attr = 'screenX=' + newWin.left + ',screenY=' + newWin.top + ',resizable=no,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args; } else { newWin.left = (screen.width - newWin.width) / 2; newWin.top = (screen.height - newWin.height) / 2; var attr = 'left=' + newWin.left + ',top=' + newWin.top + ',resizable=no,width=' + newWin.width + ',height=' + newWin.height + ',' + newWin.args; } newWin.win=window.open(newWin.url, newWin.name, attr); newWin.win.opener=self; } newWin.win.focus(); } // -->
    <td align="center">
      
        
          	<img src="http://img.bol.com/intershoproot/BOOKCOVER/FC/1/4/0/5/8/1405837306.gif" alt="Design Patterns" border="0">
        
        
      
      
    </td>
    
    <td><img src="http://img.bol.com/intershoproot/eCS/Store/nl/x.gif" border="0" height="1" width="5"></td>
    
    
    <td width="100%"><p><span class="textColor">Elements
    

    Of Reusable Object-Oriented Software: And Applying Uml And Patterns, An
    Introduction To Object-Oriented Analysis And Design And Iterative
    Development


    Other Media

           | Pearson Education Limited
           | New title
          
          
          
          
          
            <br><b>ISBN10: </b>1405837306
           
          
            
              | <b>ISBN13: </b>
             
            9781405837309&nbsp;
           
          </span><br></p></td></tr></tbody></table><p>&nbsp;For EUR <span class="price">89,99</span>
        
      
      
      
        </p><p>&nbsp;</p><p>I'm going to assume the latter is a updated version with added fluff.<br>So a simple question. is it worth it? or are the additions not that great?&nbsp;</p>


  • @asuffield said:

    The flaw in this idea is that the authors of books are no more reliable than any other random schmuck. Books are frequently the source of a culture of stupidity, because when something stupid is written down, people take it more seriously. 

    Books are just like any other resource really, be it articles online, or guidance from someone more experienced.  You could very well be getting good advice, or you could be getting a bum steer. 

    If you blindly shun the idea of reading books (or reading blogs, or talking to other experienced programmers), then you risk throwing the baby out with the bathwater IMO. 

    I would rather read what I can and choose what I take in and what I ignore, than blindly close my eyes and clamp my hands over my ears because there's some risk the person might not know what they're on about.
     



  • @stratos said:

    I'm going to assume the latter is a updated version with added fluff.

    No, it's a pack of the first plus this one:

    Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
    by Craig Larman (Author)


    Given that the second books sells for USD 55 on Amazon, the pack might be worth the price. I don't know the book, but the excerpt available at Amazon looks ok and the customer reviews are mostly positive.



  • If you have a CompUSA nearby, you may want to check out their book section. As you may know, they're closing down soon. Most of their clearance sale is less than impressive (discounts are mostly in the range of %5-15), but the books are a fantastic deal. I picked up Linux System Security for around $15.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.