Re: Timeless Classics of Software Engineering

From: apm <apm35_at_student.open.ac.uk>
Date: 22 Sep 2004 04:46:41 -0700
Message-ID: <d1a33011.0409220346.6b44c8d8_at_posting.google.com>


Anne & Lynn Wheeler <lynn_at_garlic.com> wrote in message news:<u1xhstjld.fsf_at_mail.comcast.net>...
> > The other essential on my book case is Lakos' "Large Scale C++
> > Software Design". It's applicable to any language and has enough
> > rationale that's grounded in real development practices and the
> > problems of large scale projects that I think it's relevant to the
> > original topic.

I am suprised you say it's applicable to any language. The advice about cyclic dependencies certainly is but I find much of the advice is specific to C++, such as #includes, use of fwd class decls etc. But that's ok coz it is supposed to be for C++ developers.

IMO it is a classic but the evolution of C++ has caused it to become somewhat dated. That is why I give it a qualified recommendation. The main ideas are certainly important and AFAIK are not covered by any other text. And there is some pioneering work, such as metrics and notation for physical dependencies. However, at the time of writing (circa 1997), many commercial C++ compilers on Unix were quite limited in what they supported and this is what makes me say the book is dated. The compiler limitations made certain language features off-limits in the interests of portability. Features such as heavy template use (e.g meta-programming) and namespaces were of very limited availability. So the way these features are handled would probably not be in line with current usage. For more information on this, see the comments made in passing on the ACCU web site (http://www.accu.org/htdig/search.htm).

Regards,

Andrew Marlow Received on Wed Sep 22 2004 - 13:46:41 CEST

Original text of this message