Books (Sort of OT)

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Michael

    Books (Sort of OT)

    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


  • Victor Bazarov

    #2
    Re: Books (Sort of OT)

    "Michael" <slick_mick_00@ hotmail.com> wrote...[color=blue]
    > Are there any other books on a similar vein worth reading, Managing large
    > scale projects, readable data structures and extensibility.[/color]

    "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...
    [color=blue]
    > Also when you start a progrm project from scratch, how do you lay it out?[/color]

    There is no single approach to this, besides, it's better asked in
    comp.software-eng than here.
    [color=blue]
    > 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??[/color]

    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


    Comment

    • Claudio Puviani

      #3
      Re: Books (Sort of OT)

      "Michael" <slick_mick_00@ hotmail.com> wrote[color=blue]
      > Guys,
      > I've just finished reading Design Patterns and have been over
      > whelmed by how clever some people are :-)[/color]

      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. :-)
      [color=blue]
      > Are there any other books on a similar vein worth reading,[/color]

      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.
      [color=blue]
      > Managing large scale projects,[/color]

      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 "Refactorin g: 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.
      [color=blue]
      > readable data structures[/color]

      You won't find much on this topic since it's really a minor subset of an already
      minuscule subject.
      [color=blue]
      > and extensibility.[/color]

      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.
      [color=blue]
      > Also when you start a progrm project from scratch, how
      > do you lay it out?[/color]

      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.
      [color=blue]
      > 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??[/color]

      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


      Comment

      • Luther Baker

        #4
        Re: Books (Sort of OT)

        Michael wrote:
        [color=blue]
        > 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,[/color]

        I don't hear it mentioned quite as often, but one of my favorite books
        growing up to :) is/was "Rumination s 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

        Comment

        Working...