A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.
I'm interested in designing my own software solutions and find it frustrating that a lot of books that are on offer over amazon that preach designing in C++ or insert any type of fancy header in front of C++ keep covering the same funder mental topics again and again. They typically start with C++ syntax, then onto 'hello world', then maybe halfway through the book they will be talking about data types, stl, strings, heap, stack, exceptions ect... But actually don't cover any funder mental knowledge that is required for designing a program from top to bottom.
I don't want a academic book talking about the STL, I'm after a book that focuses on having requirements and showing techniques to implement those. For example, building your own framework to deal with memory,errors, tracing and network connections. Then building your own set of containers and design on top of them.
Maybe you'd like to look at a documented example implementation, for example http://www.cs.wustl.edu/~schmidt/ACE.html
I'm not sure about the kind of ressources you are looking for.
Regarding C++ books, over the years I've developed the habit of buying books from the gurus published by Addisson-Wesley -- they hardly explain hello-world again and again.
Exceptions, the LSP, the various semantics, ... may be among the most "high-level" (if I may say) C++ aspects that need to be understood.
Regarding the design, a few references, more or less related to C++, come to my mind
- B.Meyer's book on OO design, contracts, ...
- The GOF (the first reference about design patterns)
- "Multi-paradigm design in C++" by J.O.Coplien (I'm not sure there is any C++ code in it). Jim Coplien wrote a few other C++ books that are quite interresting.
Regarding the design ot the S(T)L, Alex Stepanov wrote a document on this issue. A link on the paper can be found on ASL wiki
Wednesday, February 07, 2007
I think the header is missleading and I think i've come accross too naieve in the originaly post.
Although, im after books that gives you information in regards to building your own set of containers and building your frame work from scratch and not building on pre-exsisting modules. For example, some of the simple stuff like reference counting, memory managers. More'over a complete knowledge of what you require when handeling large systems that you build from scratch up.
I'm abit concerned because although I've found many accademic books out their presenting new algrothems and techniques to use with the STL, i have yet to come accross a book that covers the design aspects that are required in building a complete application without the usage of STL.
In regards to the STL, it isn't that i don't know how to use it. Its that simply, I want to build software that i can trust and have more indepth knowledge and exerpience.
More or less somthing that ties everthing together, because Im learning a little bit of that here and a little bit of this. Nothing complete that brings it together. Although I know there is no silver bullet, but i'm merly trying to learn from past developers and their expereinces in large projects.
Any suggestions will greatly help.
Are you looking for practical approaches to designing large systems? "Large Scale C++ Software Design" (Lakos) or the old classic "Designing Object-Oriented Software" (Wirfs-Brock et al) might be good.
If you are looking to rewrite an STL-like suite of functionality then maybe try looking at the STL code and working out why they made the design decisions they did.
Wednesday, February 14, 2007
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz