Thread: Good books on getting a "Programming mindset"?

  1. #1
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901

    Good books on getting a "Programming mindset"?

    Any good books that delve into the mindset of programming, such as looking at problems in a way that can be derived into intutive algorithms rather than brute force, teaching how to make good object oriented design in a general sense, stuff like that.

  2. #2
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Sun Tzu's Art of War
    Operations and Production Management, by Everett C. Adams
    Beyond Freedom and Dignity, by B.F. Skinner

  3. #3
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    I mean strictly in the programming scope.

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I find C++ Programming Language to be an excellent book also on programming in general.

    Addison Wesley's Design Patterns Explained by Shalloway and Trott is an excellent source for OOP. It will help you make sense of the GOF.

    Addison Wesley also published Exceptional C++ and More Exceptional C++. I never bought them, but have browsed through them before and they seem two excellent books on problem and programming puzzles solving.

    Finally I find AI and math applied to programming books very refreshing on what comes to the power of a programming language to translate and solve real world problems.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    What about the head-first design patterns, anyone know how those compare?

  6. #6
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I actually started to understand the design patterns through that one. However I found the book too distracting for me. Their teaching philosophy may work... but it didn't for me. I would recommend it also though. It was lent (is this the right word?) by a friend who only had good things to say about it.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  7. #7
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    I only mention it because it's cheaper ;b

    And I remember someone here recommending it in another thread.

  8. #8
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Go for it is my opinion
    But also go for Shalloway & Trott's. This one really opened my eyes. Very well written, dense sometimes but just slow down your reading, and highly informative. Covers the whole GOF and doesn't try to draw you ducks to explain things.

    EDIT: The preface alone is already an eye opener. Might as well read that part while on the bookstore if you can't afford the book right now.

    EDIT2: Oh... and you should also ask for some good books on Templates. A good source for what was your initial request. I can't suggest anything in there unfortunately. I'm currently developing with wxWidgets which doesn't support templates at its core. So I'm kinda forced out of it (I don't have to, but I should). It really bugs me because I wanted to get more acquainted with class templates.
    Last edited by Mario F.; 04-03-2008 at 08:23 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  9. #9
    Dr Dipshi++ mike_g's Avatar
    Join Date
    Oct 2006
    Location
    On me hyperplane
    Posts
    1,218
    I was thinking about writing a book about programming mindsets, I'll let you guys have chapter for free. Let me now if you think is good:

    Find a nice quiet hole with a computer and the internet
    Deprive your senses of all input except that comming from the IDE
    Chase off any intefering people with the home made weapon of choice
    Try rewiring your visual cortex, so that it interfaces with a serial cable

  10. #10
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,612
    I would recommend too, developing your ability to solve logic problems. There's no reason to buy a book for that, but you can. I don't have one to recommend. I've had to do these throughout my computer science courses, and maybe there was a reason beyond throwing more homework at us. I'll try to dig one up:

    As you'll learn from the site, solving a logical problem involves answering questions based on clues, usually very particular ones. If you're trying to devise a new algorithm, you'll most likely have deduced just enough information to solve the problem and get the routine working. Building that skill requires practice.

    Give it a try, it might be more fun for you than sudoku or crosswords.

  11. #11
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    I actually got an A last semester in my Logic course , but I don't know if that can translate to other areas.

  12. #12
    Banned
    Join Date
    Nov 2007
    Posts
    678
    Sorry people, but, what is GOF?

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by indigo0086 View Post
    I actually got an A last semester in my Logic course , but I don't know if that can translate to other areas.
    It sure can. Just not in the way you are probably thinking.

    You ability to solve puzzles or computing problems is as much a talent as it is an acquired skill. You'll keep refining it with experience (life experience) and as you are confronted with those computing problems. I seem to believe you have to have a natural talent for it, but from there it must be exercised.

    It is probably why you won't see many books here being advertised as the solution to that problem. It's because you can't learn it from a book. Any book that tells you otherwise probably deserves the same treatment as "How to Get Rich" books.

    I suggested programming books since quiet frankly it should be about the knowledge on how to put into practice your problem solving skills. OOP and templates are powerful tools in this regard. Good OOP and good Templating, that is. These tools are much better than the if-else programming we see so widespread. Why? Because they provide you with exactly the canonical problem solving mechanism; to divide the problem into its parts, solve those, and glue them back into the final solution.

    And in fact, it's my belief, once you are comfortable around these tools your problem solving skills will only increase further and faster. C++ only becomes interesting when we start taking advantage of what it was designed for.

    I'm aware this may seem like a stick being hammered on C's head. It's only partially. I too advocate the general idea "C++ is a better C". But that doesn't preclude C's ability to handle everyday problems. It just means C++ has other, better, tools.

    Quote Originally Posted by manav View Post
    Sorry people, but, what is GOF?
    Gang of Four. An affectionate term for the group of 4 people that wrote "Design Patterns, Elements of Reusable Object-Oriented Software", published by the usual suspects Addison-Wesley. This is probably THE book on object oriented programming and design. Before that, there was a void. After that many people in the world opened their mouths in awe and shock and couldn't say a word for days.

    EDIT: It is, however, also hard to read. And as such other books were written for the single purpose of explaining the first book
    Last edited by Mario F.; 04-04-2008 at 07:40 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    GOF or GoF is short of "Gang of four", which refers to the authors in
    Design Patterns
    by Erich Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John Vlissides (Author)
    Or at least, that's what I think it means in this context, since I only just googled it, and found some references to GoF that seems to correlate.

    Edit: slow reply due to my Sky "free" broadband being unreliable. Mario provided a similar answer before my post got through on the third attempt.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  15. #15
    Ethernal Noob
    Join Date
    Nov 2001
    Posts
    1,901
    Any good books on algorithms designing and stuff?.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Good books for learning WIN32 API
    By Junior89 in forum Windows Programming
    Replies: 6
    Last Post: 01-05-2006, 05:38 PM
  2. Good books to learn windows programming?
    By RetroGamer1991 in forum Windows Programming
    Replies: 4
    Last Post: 06-17-2003, 01:06 PM
  3. Any good books on C ?
    By deadsam in forum C Programming
    Replies: 8
    Last Post: 05-28-2003, 10:38 AM
  4. Good programming with windows books?
    By Zoopy in forum Windows Programming
    Replies: 3
    Last Post: 09-20-2001, 01:44 PM
  5. Good C++ books?
    By Violent Ben in forum C++ Programming
    Replies: 4
    Last Post: 09-19-2001, 06:32 AM