Books (Sort of OT)

Discussion in 'C++' started by Michael, May 23, 2004.

  1. Michael

    Michael Guest

    Guys,
    I've just finished reading Design Patterns and have been over whelmed by how
    clever some people are :)
    Are there any other books on a similar vein worth reading, Managing large
    scale projects, readable data structures and extensibility.
    Also when you start a progrm project from scratch, how do you lay it out?
    I've been drawing object interactions on a a0 piece of paper, is this the
    way others do it, or is there any good software for doing this??

    Regards

    Michael
     
    Michael, May 23, 2004
    #1
    1. Advertising

  2. "Michael" <> wrote...
    > Are there any other books on a similar vein worth reading, Managing large
    > scale projects, readable data structures and extensibility.


    "Advanced C++" by Coplien (old but good) -- OOP and OOA as applied to C++
    "Modern C++ Design" by Alexandrescu -- templates
    "Large Scale C++ Software Design" by Lakos -- a very "how-to" book, not all
    agree with all recommendations

    And just go to www.accu.org, see their book review section and choose the
    ones you think you might want to tackle next.

    For me, reading about techniques people use is often less rewarding than
    doing it. To you it can be different, of course. You can always beging
    with the bibliography section of the last book you just finished...

    > Also when you start a progrm project from scratch, how do you lay it out?


    There is no single approach to this, besides, it's better asked in
    comp.software-eng than here.

    > I've been drawing object interactions on a a0 piece of paper, is this the
    > way others do it, or is there any good software for doing this??


    Yes. Read about UML. The main advantage is that it's understood by many
    and that often the software can generate some initial C++ code for you.

    More on this -- ask in comp.object.

    Victor
     
    Victor Bazarov, May 23, 2004
    #2
    1. Advertising

  3. "Michael" <> wrote
    > Guys,
    > I've just finished reading Design Patterns and have been over
    > whelmed by how clever some people are :)


    Keep in mind that -- as they are very honest about -- the GoF only catalogued
    those patterns; they didn't invent them. Also, those patterns typically evolved
    over time -- and often independently in more than one place -- and with many
    people contributing improvements. It may look like genius when it's all presented
    in a lump, but it's really the result of a lot of collective sweat. :)

    > Are there any other books on a similar vein worth reading,


    The two volumes of "Pattern-Oriented Software Architecture" are, in some ways,
    better than the GoF book and definitely cover a lot more ground. Martin Fowler's
    "Analysis Patterns" also shouldn't be discounted, though, as the title suggests,
    it doesn't deal with programming per se.

    > Managing large scale projects,


    As Victor mentionned, John Lakos' "Large Scale C++ Software Design" is one of the
    canons, but it deals with implementation details (which is very important). If
    it's _management_ of projects that interests you, Neal Whitten's "Managing
    Software Development Projects" is about as good as it gets. In between, you have
    a few really good books by Steve McConnell. One of the best books is Martin
    Fowler's "Refactoring: Improving the Design of Existing Code". Speaking of
    refactoring, some people will recomment the mound of books on eXtreme
    Programming, but personally, I find that they read like indoctrination pamphlets
    in a new age cult.

    > readable data structures


    You won't find much on this topic since it's really a minor subset of an already
    minuscule subject.

    > and extensibility.


    Here you have plenty of choices, but they're not all explicitly about
    extensibility. Lakos' book is again a good source. Carrol and Ellis have a book
    called "Designing and Coding Reusable C++". Andrei Alexandrescu's "Modern C++
    Design" and Vandervoorde and Josuttis' "C++ Templates" are masterful references,
    but it takes even seasoned experts multiple readings to grasp the subtleties
    (it's very rewarding, though). Just studying any Standard Library reference would
    be enough to give you a heap of good concepts about extensibility.

    > Also when you start a progrm project from scratch, how
    > do you lay it out?


    There are too many ways to count, but basically, most people simply clone the
    skeleton of an existing project, improve the things that were found lacking in
    the last iteration and go from there. It's a catch 22 for beginners because they
    don't have existing projects to clone and the projects they can find are usually
    too complex to fit what they're doing. The only good advice I can give you, until
    you get to work with a team that has an established methodology, is: do many
    projects and evolve your framework as you do so. You'll learn a lot by it.

    > I've been drawing object interactions on a a0 piece of paper, is this the
    > way others do it, or is there any good software for doing this??


    If paper works for you, there's nothing wrong with it. I use Visio because it's
    flexible and doesn't constrain me to someone else's methodology. Some people like
    tools that enforce certain constraints or that generate code for them. Rational
    Rose is often prefered by those people. I'm sure that if you take an inventory,
    you could come up with dozens of programs that purport to aid in software design.

    Claudio Puviani
     
    Claudio Puviani, May 23, 2004
    #3
  4. Michael

    Luther Baker Guest

    Michael wrote:

    > Guys,
    > I've just finished reading Design Patterns and have been over whelmed by how
    > clever some people are :)
    > Are there any other books on a similar vein worth reading,


    I don't hear it mentioned quite as often, but one of my favorite books
    growing up to :) is/was "Ruminations on C++" by Andrew Koenig and
    Barbara Moo. But unfortunately, its more about idiomatic C++ than it is
    about genreal software development - which sounds like what you're
    looking for.

    Craig Larman's "Applying UML and Patterns" as well as Robert Martin's
    "Agile Software Development" books may appeal to you.

    -Luther
     
    Luther Baker, May 24, 2004
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. HDL Book Seller
    Replies:
    0
    Views:
    987
    HDL Book Seller
    Dec 1, 2004
  2. Luis Esteban Valencia

    Design Patterns Books and Best Practices Books.

    Luis Esteban Valencia, Jun 30, 2005, in forum: ASP .Net
    Replies:
    4
    Views:
    533
    Joerg Jooss
    Jul 1, 2005
  3. MiniMe
    Replies:
    0
    Views:
    525
    MiniMe
    Apr 19, 2006
  4. Guest

    Books, Books, Books...

    Guest, Sep 19, 2004, in forum: C++
    Replies:
    3
    Views:
    594
    ÁÍÄÑÅÁÓ ÔÁÓÏÕËÁÓ
    Sep 19, 2004
  5. Navin
    Replies:
    1
    Views:
    744
    Ken Schaefer
    Sep 9, 2003
Loading...

Share This Page