On May 22, 12:49 pm, "Kurt Smith" <[EMAIL PROTECTED]> wrote: > On Thu, May 22, 2008 at 10:55 AM, duli <[EMAIL PROTECTED]> wrote: > > Hi: > > I would like recommendations forbooks(in any language, not > > necessarily C++, C, python) which have walkthroughs for developing > > a big software project ? So starting from inception, problem > > definition, design, coding and final delivery on a single theme > > or application. > > The bigger the project, the more likely it is that you'll have > documentation on how to use it (for a language or library, how to use > the features in your program) but to take the time to write up a > dead-tree book on the project's "inception, problem definition, > design, coding and final delivery" is not likely well spent. Anyone > who has the expertise to write such a book would probably be spending > his time working on the next phase of the project itself. > > Someone will probably respond with an amazon link to a book that does > exactly what you're asking, in which case, I will stand corrected. > But I'll be surprised. > > > > > Most of the code I have written andbooksthat I have read deal with > > toy programs and I am looking for something a bit more > > comprehensive. For example, maybe a complete compiler written in C++ > > for some language, or a complete web server or implementing > > .net libraries in some language (just a few examples of the scale of > > things I am interested in learning). > > It seems to me the reason toy programs are so prevalent is because > they illustrate a (few) well defined ideas in a short amount of code. > A big project, necessarily, brings together all kinds of stuff, much > of which may not interest the author at all, and so doesn't motivate > him to write a book about it. > > Compilers, web servers & .NET libraries are *widely* varying areas. > You may have interest in them all, but to significantly contribute to > any requires a fair amount of expertise and specialization. > > The best route I've found to learn how to organize & program large > scale applications is this: find a cutting edge program that interests > you and that is open source. Download its source, and read the code. > Diagram it. Map it out. Read the comments. Join the mailing list > (probably the developer's list), lurk for a while, and ask questions > about why they organized things the way they did. Get the overall big > picture and learn from it. Better yet, find out what pitfalls they > found and avoided (or fell into). Compare their approach & > organization with another competing project. This is the wonder of > open source software -- you have access to everything, and can learn > from all the expertise the developers put into their opus. > > You can learn the basics frombooks, but nothing beats analyzing a > species in the wild.
I think I have lately understood what you mean, thanks to Programming Python 3rd Ed by Lutz. It doesn't teach Python itself -- the book aims to teach Python programming at an application level, but I'm starting to wonder whether that knowledge can be obtained from any book. The book goes through over 1500 pages (!) giving small- and medium-sized example programs and describing their details. Roughly after a couple of hundred pages I started to feel like all that was trivial (isn't looking at code and figuring their details what we do in our every-day programmer lifes?), and then started to feel like it was really useless. Maybe large-scale programming can only be self-thought in every day life, am I right?. -- http://mail.python.org/mailman/listinfo/python-list