473,325 Members | 2,442 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,325 software developers and data experts.

Large scale C++ software design?

Hi.

I was wondering if there are any more C++ books along the lines of
"Large scale C++ software design" by Lakos, J. I.e. concerning larger
design issues in close relation to C++. I have made a fairly thorough
literature search, but i haven't found anything fitting this criteria.

In general there seems to be a huge amount concerning the C++ language as
such and more "narrow" design issues, e.g. along the lines of Meyers
Effective-
series.

I have already considered Design Patterns by Gamma et al, which
is a good book as well, but perhaps (implicitly) a bit too focused on
flexibility (as opposed to e.g. efficiency, insulation etc).

Any good suggestions concerning such literature?

Thanks in advance

/ Kymert




Jul 19 '05 #1
2 3542
"Kymert persson" <mi*****@ida.his.se> wrote...
I was wondering if there are any more C++ books along the lines of
"Large scale C++ software design" by Lakos, J. I.e. concerning larger
design issues in close relation to C++. I have made a fairly thorough
literature search, but i haven't found anything fitting this criteria.

In general there seems to be a huge amount concerning the C++ language as
such and more "narrow" design issues, e.g. along the lines of Meyers
Effective-
series.

I have already considered Design Patterns by Gamma et al, which
is a good book as well, but perhaps (implicitly) a bit too focused on
flexibility (as opposed to e.g. efficiency, insulation etc).

Any good suggestions concerning such literature?


"Object-Oriented Software Construction", maybe?

Try asking in comp.software-eng as well. Successful creation,
development, maintenance of a large system, depend on many
factors, which are not necessarily common between organisations.

Victor
Jul 19 '05 #2
OK, i agree to som of what you are saying but I alsö
disagree to some of it.

I agree that the best way to learn programming is by doing it. But
at least in my experience more theoretical issues give you a lot
of the ideas that you later choose to experiment with in practice.

I disagree to your view on Lakos work as mainly concerned with
dividing projects into directories, rather i would say his main concern
is insulation, i.e. how to minimize compile time dependencies between
components, an issue of major concern to anyone designing/implementing
large software systems (in a compiled language anyway).

When it comes to your view that the "language is irrelevant" i do
understand what you are getting at, i.e. that the same design can be
realized in any language (with more or less pain of course). The problem
with the "language is irrelevant" view, in my opinion, is that it breaks
down in many
practical settings. Consider the STL for example, imagine implementing that
in
a language without support for templates... Another example would be using
Prolog
for implementing the next version of the Appache web server, surely Prolog
could deliver the appropriate function but the hardware requirements as
well as the development costs would surely break through the roof...

Another issue, related to the "language irrelevancy", is the fact that there
is
always many ways to implement the same design (even in the same
programming language and perhaps especially in languages such as C++
which supports several design paradigms). The problem is that many of these
"ways"
are really bad, perhaps not at first sight but perhaps when the system grows
larger or when it has to be ported to some other platform etc...
Given these very real problems i think that literature such as the book by
Lakos
is invaluable in that it discusses real world success, i.e. things that
worked
really well in this or that setting (In Lakos case, really large systems)
/K



/K


"Victor Bazarov" <v.********@attAbi.com> wrote in message
news:vj************@corp.supernews.com...
"Kymert persson" <mi*****@ida.his.se> wrote...
Thanks for the tip, but i think this book is a bit too high-level
compared to what i am looking for. And i guess this is part of

a general problem concerning software/programming-

literture, i.e. that they are either fairly low level descibing a

language or rather high level descibing things such as

reusability, modularity, portability etc., without really demonstrating

how to realise these ideas in a particular language (preferrably C++

in my case)


The only reason they don't is because the language is irrelevant.
I think that the "Large scale C++ software design" by Lakos, J. is

exceptional in this respect, he discusses fairly high level issues
concerning

large system design without ever loosing the connection to the
implementation

level.


As far as Lakos is concerned, his book is good for a novice who has
never worked on large project before. Once you've been there two or
three times and faced different issues than splitting projects into
directories, you will set that book aside as a memento, nothing more.

Your level changes as you progress. The level of the book doesn't.
And it doesn't cover issues that are increasingly important. Only
the basics, which become details very soon.

I recommend "shock therapy" as the main approach to learning things.
Programming? Knuth. C++? Stroustrup and Ellis, Coplien. Driving?
Get on the road after you learn shifting from the first to the second
gear. Swimming? Jump in the water at the deep end of the pool. From
my point of view, you learn by doing. Join a big group of people and
see how they organise their work to understand what motivates them and
what is wrong with their processes. As soon as you can consciously
make a suggestion and it gets accepted, you got it. Reading books is
not going to get you there, trust me.

Victor

Jul 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Constandinos Mavromoustakis | last post by:
CFP: CLADE 2004-Challenges of Large Applications in Distributed Environments ------------------------------------------------- PhD student - Dept.Informatics at Aristotle University of...
36
by: Andrea Griffini | last post by:
I did it. I proposed python as the main language for our next CAD/CAM software because I think that it has all the potential needed for it. I'm not sure yet if the decision will get through, but...
14
by: Steven T. Hatton | last post by:
Is there a more or less accepted authority describing how to structure a project? I know Julie has asked about namespaces. That is certainly a part of my question, but I want to know about the...
28
by: puzzlecracker | last post by:
Large scale C++ software design, by John Lakos - people any good recommendations to this book?
9
by: Da~One | last post by:
This message has been posted to 2 groups, one to the VB.NET group, and the other to C#. I am trying to decide which language to commit to for a large scale project. I am looking for the input of...
12
by: al.cpwn | last post by:
I recently bought this book, and wanted some recommendations on what are the most important lessons one should learn from this book. i.e. something that comes up frequently in large C++ based...
16
by: marktxx | last post by:
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...
6
by: razael1 | last post by:
Does anyone know of a good article dealing with organizing large class heirarchies? I've always had trouble with circular dependencies, global constants and variables, etc. Thanks.
22
by: Jesse Burns | last post by:
I'm about to start working on my first large scale site (in my opinion) that will hopefully have 1000+ users a day. ok, this isn't on the google/facebook scale, but it's going to be have more hits...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.