 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Guest
|
Posted: Fri May 12, 2006 12:21 am Post subject: Large-Scale C++ Software Design |
|
|
I've finally gotten around to reading the book "Large-Scale C++
Software Design" by John Lakos.
Has anyone documented what parts of this book are now obsolete due to
C++ language changes such as namespaces? or are now generally
considered bad advice?
Feel free to reply here on a particular topic discussed in the book.
I also noticed that John Lakos has a book in preparation called
"Scalable C++: Component-Based Development" maybe this is the much
needed 2nd edition.
thanks
Mark
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Phlip Guest
|
Posted: Fri May 12, 2006 4:21 am Post subject: Re: Large-Scale C++ Software Design |
|
|
marktxx wrote:
| Quote: | I've finally gotten around to reading the book "Large-Scale C++
Software Design" by John Lakos.
Has anyone documented what parts of this book are now obsolete due to
C++ language changes such as namespaces?
|
Those recommendations were obsolete at the time the book was written.
| Quote: | or are now generally
considered bad advice?
|
There's a good repository of bad advise here:
http://c2.com/cgi/wiki?LargeScaleCppSoftwareDesign
To read LSCSD, imagine incorporating each guideline into your own
habits.
Some, such as where to put #include lines, are brilliant, crucial,
and easy.
Some, such as unit tests, are mission critical but hard.
Some, such as Registered Package Prefixes, are still generally valid but
should not be slavishly applied. The book is still completely relevant
because Lakos doesn't just say "do this", he explains his own
research to
arrive at each conclusion. Draw your own results, and question
_everything_
you read. Even the stuff that keeps up with the Standard.
| Quote: | I also noticed that John Lakos has a book in preparation called
"Scalable C++: Component-Based Development" maybe this is the much
needed 2nd edition.
|
Maybe it will cover CORBA, which is an over-researched and under-
documented
component system that appears to have much potential.
--
Phlip
http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
kanze Guest
|
Posted: Sat May 13, 2006 1:21 am Post subject: Re: Large-Scale C++ Software Design |
|
|
Phlip wrote:
| Quote: | marktxx wrote:
I've finally gotten around to reading the book "Large-Scale
C++ Software Design" by John Lakos. Has anyone documented
what parts of this book are now obsolete due to C++ language
changes such as namespaces?
Those recommendations were obsolete at the time the book was
written.
|
Are you kidding? At the time I first saw the book, none of the
compilers I was using supported namespaces. Even today, I find
that namespaces introduce so much additional confusion in things
like function overloading (which isn't simple to begin with)
that I tend to avoid them, except maybe at the highest level.
(I'm glad that the standard library is in a namespace, for
example.)
I gave it a quick glance, but there didn't really seem to be
much useful information there. (There were a lot of unjustified
opinions, but nothing concrete.)
| Quote: | To read LSCSD, imagine incorporating each guideline into your
own habits. Some, such as where to put #include lines, are
brilliant, crucial, and easy. Some, such as unit tests, are
mission critical but hard.
Some, such as Registered Package Prefixes, are still generally
valid but should not be slavishly applied. The book is still
completely relevant because Lakos doesn't just say "do this",
he explains his own research to arrive at each conclusion.
Draw your own results, and question _everything_ you read.
Even the stuff that keeps up with the Standard.
|
That sounds about like what I would say. All of the basic
principles still apply. How you actually apply them in any
given project will vary.
| Quote: | I also noticed that John Lakos has a book in preparation
called "Scalable C++: Component-Based Development" maybe
this is the much needed 2nd edition.
Maybe it will cover CORBA, which is an over-researched and
under-documented component system that appears to have much
potential.
|
I agree. Corba seems to be almost moribond, but for most of the
applications I see, it would be a far better solution than
things like XML, which are being used because they are "in".
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Phlip Guest
|
Posted: Sat May 13, 2006 12:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
kanze wrote:
No, I just didn't notice I was posting to the moderated group.
| Quote: | At the time I first saw the book, none of the
compilers I was using supported namespaces. Even today, I find
that namespaces introduce so much additional confusion in things
like function overloading (which isn't simple to begin with)
that I tend to avoid them, except maybe at the highest level.
(I'm glad that the standard library is in a namespace, for
example.)
|
The OP asked about what had become obsolete since. So maybe we agree that
the advice about Registered Package Prefixes is as obsolete now as it was
back then.
| Quote: | http://c2.com/cgi/wiki?LargeScaleCppSoftwareDesign
I gave it a quick glance, but there didn't really seem to be
much useful information there. (There were a lot of unjustified
opinions, but nothing concrete.)
|
Feel free to edit it. The page - vaguely - attempts reveal the tension and
debate between prefixes and namespaces, and the book's role in the debate.
Of course this rapidly devolves to one "side" screaming the book is evil
incarnate, and the other "side" trying to be rational.
| Quote: | I agree. Corba seems to be almost moribond, but for most of the
applications I see, it would be a far better solution than
things like XML, which are being used because they are "in".
|
I am currently learning CORBA Component Model, which might be worth all the
acres of PDF devoted to how awesome it is...
--
Phlip
http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Sat May 13, 2006 9:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
In article <1147437254.666508.7460 (AT) i39g2000cwa (DOT) googlegroups.com>, kanze
<kanze@gabi-soft.fr> writes
| Quote: | Some, such as Registered Package Prefixes, are still generally
valid but should not be slavishly applied. The book is still
completely relevant because Lakos doesn't just say "do this",
he explains his own research to arrive at each conclusion.
Draw your own results, and question _everything_ you read.
Even the stuff that keeps up with the Standard.
That sounds about like what I would say. All of the basic
principles still apply. How you actually apply them in any
given project will vary.
|
And that was true from the moment the book was published. The importance
of reading books such as this one is to educate ones thought processes,
not to obtain a collection of recipes to be applied without thought or
context.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Roland Pibinger Guest
|
|
| Back to top |
|
 |
James Kanze Guest
|
Posted: Sun May 14, 2006 9:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
Phlip wrote:
| Quote: | kanze wrote:
Are you kidding?
No, I just didn't notice I was posting to the moderated group.
At the time I first saw the book, none of the compilers I was
using supported namespaces. Even today, I find that
namespaces introduce so much additional confusion in things
like function overloading (which isn't simple to begin with)
that I tend to avoid them, except maybe at the highest level.
(I'm glad that the standard library is in a namespace, for
example.)
The OP asked about what had become obsolete since. So maybe we
agree that the advice about Registered Package Prefixes is as
obsolete now as it was back then.
|
It depends. Today, of course, you do have a choice, but I can
imagine still using registered prefixes in many cases.
| Quote: | http://c2.com/cgi/wiki?LargeScaleCppSoftwareDesign
I gave it a quick glance, but there didn't really seem to be
much useful information there. (There were a lot of unjustified
opinions, but nothing concrete.)
Feel free to edit it. The page - vaguely - attempts reveal the
tension and debate between prefixes and namespaces, and the
book's role in the debate. Of course this rapidly devolves to
one "side" screaming the book is evil incarnate, and the other
"side" trying to be rational.
|
OK. I'd missed the fact that it was a Wiki, which automatically
means that considerable sorting of the proposed information is
necessary. (Quick glances, of course, tend to see those who
talk loudest and longest. Which are seldom those who have
useful information.)
--
James Kanze kanze.james (AT) neuf (DOT) fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Marco Guest
|
Posted: Mon May 15, 2006 12:22 am Post subject: Re: Large-Scale C++ Software Design |
|
|
| Quote: | I also noticed that John Lakos has a book in preparation called
"Scalable C++: Component-Based Development" maybe this is the much
needed 2nd edition.
|
It's a shame when important computer books, that achieved good sales
figures, never get much needed follow-on editions. It seems only Craig
Larman, Bruce Eckel and the O'Reilly books do it in a timely fashion.
Steve McConnell did finally update "Code Complete" but it would have
been more valuable if he didn't take 11 years to do it.
Wikis are interesting but too much unsupported opinion ends up in them
so their credibility suffers. My fear is that computer information will
devolve into the celebrity weekly tabloids we see in the supermarket.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Francis Glassborow Guest
|
Posted: Mon May 15, 2006 7:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
In article <1147561483.331631.291470 (AT) i40g2000cwc (DOT) googlegroups.com>,
Marco <prenom_nomus (AT) yahoo (DOT) com> writes
| Quote: | It's a shame when important computer books, that achieved good sales
figures, never get much needed follow-on editions. It seems only Craig
Larman, Bruce Eckel and the O'Reilly books do it in a timely fashion.
Steve McConnell did finally update "Code Complete" but it would have
been more valuable if he didn't take 11 years to do it.
|
In the programming industry sales figures above 5000 count as good,
above 10000 as very good. Much more than $2 per copy in royalties would
be unusual in my experience. Considering the time it takes to write a
book that is very poor reward for the author.
I made more money a year writing a monthly column for .EXE Magazine than
I do from my first book (whose UK sales figures alone exceed 5000), yet
those columns took an afternoon a month to write.
There are too many bad and mediocre books sucking up the resources of
newcomers and too many 'experienced' programmers think that the
post-novice books have nothing to offer them. Good authors need support
else they find more rewarding ways to spend their time.
--
Francis Glassborow ACCU
Author of 'You Can Do It!'& 'You Can Program in C++'
see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Phlip Guest
|
Posted: Tue May 16, 2006 10:21 am Post subject: Re: Large-Scale C++ Software Design |
|
|
Francis Glassborow wrote:
| Quote: | Good authors need support
else they find more rewarding ways to spend their time.
|
They also may need supports other than money.
(Insert rant here about the review process for technical books that cover
C++, to keep us topical;)
--
Phlip
http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
John Wait Guest
|
Posted: Wed May 17, 2006 10:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
I had the good fortune to be the editor for John Lakos' first book, as
well as a few other C++ books such as Scott Meyers' gems, and first
books by Tom Cargill, Steve Dewhurst, Kathy Stark, etc. I also had the
good fortune to publish all of the first editions written by Rich
Stevens, Evi Nemeth and others. And I was lucky to be the editor for
Design Patterns, Gamma et al (c) 1995.
While I spent years begging and nagging many authors to revise, let me
now defend them. Many of the most successful authors are not full time
writers. They are teachers, trainers, coders, sys admins, network
managers, professors, researchers, or managers. Many wrote a book as
a one-time let-me-help-by-sharing-what-I-know exercise. Many moved to
new topics, such as from C++ to Java to Ruby on Rails. They were no
longer working in the same subject and had little interest in revising
a book on a technology she/he no longer used.
Authors and editors regularly look forward to receiving comments for
suggestions for improvements--updates/deletions/etc. Generally their
email address is listed in the preface or acknowledgements of the book.
Some Publishers list their editors on their web site, such as this:
http://www.awprofessional.com/about/write_for_us.asp#editors
If you like a book, and hope for an update, I encourage you to send
your suggestions to the author of the book and/or the editor for the
book.
Best regards,
John Wait
Pearson Technology Group
http://www.pearsoned.com/professional/technical.htm
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Simon Bone Guest
|
Posted: Sat May 20, 2006 9:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
On Wed, 17 May 2006 18:11:07 -0400, John Wait wrote:
| Quote: | I had the good fortune to be the editor for John Lakos' first book, as
well as a few other C++ books such as Scott Meyers' gems, and first
books by Tom Cargill, Steve Dewhurst, Kathy Stark, etc. I also had the
good fortune to publish all of the first editions written by Rich
Stevens, Evi Nemeth and others. And I was lucky to be the editor for
Design Patterns, Gamma et al (c) 1995.
While I spent years begging and nagging many authors to revise, let me
now defend them. Many of the most successful authors are not full time
writers. They are teachers, trainers, coders, sys admins, network
managers, professors, researchers, or managers. Many wrote a book as
a one-time let-me-help-by-sharing-what-I-know exercise. Many moved to
new topics, such as from C++ to Java to Ruby on Rails. They were no
longer working in the same subject and had little interest in revising
a book on a technology she/he no longer used.
|
First let me say that I appreciate that they do. I can't really imagine
ever having the time and energy to add such a task on top of the day job.
Secondly, I think it is important to accept that such writers do
move on. Perhaps publishers should give more consideration to buying the
rights to derivative works. Then if the original author moves on, some
other poor sucker^H^H^H^H^H^H^H^H^H^H^Hwilling soul could be put on the
task of providing an updated version.
I notice that CC and GDL licensed books are appearing from some
publishers, especially on topics that obviously relate to open source
software. Those licenses have specific clauses on derivative works that
may be a long term advantage. (And FWIW I like paper books, and so
I've bought at least one.)
Whatever the means, I do wish publishers would find a way to update
popular books to fit current standards. There is not much worse than
having to update the skills of co-workers who just read a new book- one
they just bought, but which was written 10 years earlier. It is all too
common unfortunately.
Cheers,
Simon Bone
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Marco Guest
|
Posted: Tue May 23, 2006 11:21 am Post subject: Re: Large-Scale C++ Software Design |
|
|
{This is really OT but it seems in the interest of the wider community
to let it through but not for further discusssion here, please.
-mod/fwg}
John Wait wrote:
| Quote: |
While I spent years begging and nagging many authors to revise, let me
now defend them. Many of the most successful authors are not full time
writers. They are teachers, trainers, coders, sys admins, network
managers, professors, researchers, or managers. Many wrote a book as
a one-time let-me-help-by-sharing-what-I-know exercise. Many moved to
new topics, such as from C++ to Java to Ruby on Rails. They were no
longer working in the same subject and had little interest in revising
a book on a technology she/he no longer used.
|
I don't want to sound anti-author-rights but maybe after a period of
say 5 years the publisher gets the right to locate another author to
revise the next edition with the approval of the original author. Maybe
the original author could be an editor. The original author would
receive royalties (but just not as much) if he/she allowed their name
to be listed. This would help keep books current. I noticed that
O'Reilly appears to do something like this.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
Nicola Musatti Guest
|
Posted: Wed May 24, 2006 4:21 pm Post subject: Re: Large-Scale C++ Software Design |
|
|
Marco wrote:
| Quote: | {This is really OT but it seems in the interest of the wider community
to let it through but not for further discusssion here, please.
-mod/fwg}
John Wait wrote:
[...]
I don't want to sound anti-author-rights but maybe after a period of
say 5 years the publisher gets the right to locate another author to
revise the next edition with the approval of the original author. Maybe
the original author could be an editor. The original author would
receive royalties (but just not as much) if he/she allowed their name
to be listed. This would help keep books current. I noticed that
O'Reilly appears to do something like this.
|
I don't think it's really a problem of rights, but one of expected
sales. Consider "C++ Primer"; the first two editons were authored by
Stan Lippmann, then Josee Lajoie joined him for the third one and
Barbara Moo joined the team for the latest one. I wouldn't be surprised
to learn that the first two had little to do with the fourth edition.
These things do happen when publishers consider them worthwhile.
Cheers,
Nicola Musatti
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ] |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|