Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > [OT sort of] Recommended Reading

Reply
Thread Tools

[OT sort of] Recommended Reading

 
 
Michael
Guest
Posts: n/a
 
      10-15-2004
What books would you guys put as essential reading on your book shelves? For
instance I think that "Code Complete", "Effective C++" and "Design Patterns"
have all greatly improved my c++.
Any thoughts??
Mike


 
Reply With Quote
 
 
 
 
David Hilsee
Guest
Posts: n/a
 
      10-15-2004
"Michael" <(E-Mail Removed)> wrote in message
news:ckn6je$b7j$(E-Mail Removed)...
> What books would you guys put as essential reading on your book shelves?

For
> instance I think that "Code Complete", "Effective C++" and "Design

Patterns"
> have all greatly improved my c++.
> Any thoughts??


"The C++ Programming Language" and "Modern C++ Design" are excellent books.
Sutter's "Guru of the Week" articles are also good, as are his books (e.g.
"Exceptional C++"). "The Design and Evolution of C++" answers a lot of
questions concerning why the language is the way it is. Also, "Large Scale
C++ Software Design" provides (sometimes outdated) guidance for developing
larger C++ programs. I'd say that all of these books are great, and I'd
rank them in the order that I listed them.

--
David Hilsee


 
Reply With Quote
 
 
 
 
John Harrison
Guest
Posts: n/a
 
      10-15-2004

"Michael" <(E-Mail Removed)> wrote in message
news:ckn6je$b7j$(E-Mail Removed)...
> What books would you guys put as essential reading on your book shelves?
> For
> instance I think that "Code Complete", "Effective C++" and "Design
> Patterns"
> have all greatly improved my c++.
> Any thoughts??
> Mike
>


'More Effective C++' is also excellent.

john


 
Reply With Quote
 
JKop
Guest
Posts: n/a
 
      10-15-2004
Michael posted:

> What books would you guys put as essential reading on your book
> shelves? For instance I think that "Code Complete", "Effective C++" and
> "Design Patterns" have all greatly improved my c++.
> Any thoughts??
> Mike



Well, just for perspective, I've learned more in this newsgroup than I have
in any book. . .


-JKop
 
Reply With Quote
 
Michael Kurz
Guest
Posts: n/a
 
      10-15-2004

"Michael" <(E-Mail Removed)> schrieb im Newsbeitrag
news:ckn6je$b7j$(E-Mail Removed)...
> What books would you guys put as essential reading on your book shelves?

For
> instance I think that "Code Complete", "Effective C++" and "Design

Patterns"
> have all greatly improved my c++.
> Any thoughts??



For C++ I liked:
[1] Object Oriented Programming in C++ , Josuttis N
[2] The C++ Programming Language
[3] Excpetional C++
[4] Modern C++ Design


Language independent:
[5] Design Patterns, GoF
[6] Pragmatic Programming, Hunt A

Wheres [6] in my case lead automatically to:
[7] Perl programming, Larry Wall
[8] Programming Ruby, Hunt A (you see I like Andrew Hunt's book)
[9] Lexx & Yacc, Helmut Herold (I have it in German, dont know if its
available in English as well)


Regards
Michael


 
Reply With Quote
 
osmium
Guest
Posts: n/a
 
      10-15-2004

Michael posted:
>
>> What books would you guys put as essential reading on your book
>> shelves? For instance I think that "Code Complete", "Effective C++" and
>> "Design Patterns" have all greatly improved my c++.
>> Any thoughts??
>> Mike


I would certainly include the printed version of _C++ FAQs_ by Marshall
Cline in any list of must reads for C++/


 
Reply With Quote
 
Phlip
Guest
Posts: n/a
 
      10-15-2004
[Books are on-topic, guys...]

Michael wrote:

> What books would you guys put as essential reading on your book shelves?

For
> instance I think that "Code Complete", "Effective C++" and "Design

Patterns"
> have all greatly improved my c++.
> Any thoughts??


Reposted from c.l.c++.mod:

M Plus Plus! wrote:

> I've read the sams publishing Teach yourself c++ in 21 days.. can anyone
> recommend any more books to aid me in my quest of becomming a proficient
> C++ programmer?


Within each category, I sort in order from entry-level to advanced. Note
that some books (shamefully) reference languages other than C++. Learn the
languages and read the books to become a better C++ programmer.

These books introduce some topics they probably didn't teach you in
school...

Firstly, books directly about C++ coding and designing:

* Accelerated C++: Practical Programming by Example by Andrew Koenig &
Barbara E. Moo
* Effective C++ 2nd Edition by Scott Meyers
* More Effective C++ by Scott Meyers
* The C++ Programming Language 3rd Edition by Bjarne Stroustrup
* Large Scale C++ Software Design by John Lakos
* Scientific and Engineering C++: An Introduction with Advanced Techniques
and Examples by John J. Barton, Lee R. Nackman
* C++ Coding Standards: Rules, Guidelines, and Best Practices by Herb Sutter
& Andrei Alexandrescu
* Modern C++ Design: Generic Programming and Design Patterns Applied by
Andrei Alexandrescu
* Exceptional C++ by Herb Sutter
* More Exceptional C++ by Herb Sutter


Next, books about design:

* Design Patterns: elements of reusable object-oriented software by Gamma,
Johnson, Helm, & Vlissides
* Refactoring: Improving the Design of Existing Code by Martin Fowler
* Refactoring to Patterns by Joshua Kerievsky
* Smalltalk Best Practice Patterns by Kent Beck
* Domain Driven Design: Tackling Complexity in the Heart of Software by Eric
Evans
* The Art of Computer Programming by Knuth


Books about the culture of programming around the source code:

* Lean Software Development: An Agile Toolkit for Software Development
Managers by Mary Poppendieck and Tom Poppendieck
* Extreme Programming eXplained: Embrace Change, 2nd Edition, by Kent Beck
* Agile Development: Principles Practices and Patterns by Robert C. Martin

* AntiPatterns: refactoring software, architectures, and projects in crisis
by Brown, Malveau, McCormick & Mowbray
* The Pragmatic Programmer: From Journeyman to Master by Andy Hunt & Dave
Thomas
* Rapid Development: Taming Wild Software Schedules by Steve McConnell


How to preventing long open-ended debugging sessions:

* Test-Driven Development: By Example by Beck
* Code Complete 2nd Edition by Steve McConnell
* Test Driven Development: A Practical Guide, by Dave Astels
* How to Break Software: A Practical Guide to Testing by James A. Whittaker


Specific programming scenarios:

* C++ GUI Programming with Qt 3 by Jasmin Blanchette & Mark Summerfield
* Developing International Software 2nd Edition by Dr. International
* Working Effectively with Legacy Code by Mike Feathers


/C++ GUI Programming with Qt 3/ is especially noteworthy because, unlike
most other GUI Toolkits, C++ does not wrap Qt. Its inventors architected Qt
directly in C++, using only the finest OO idioms.

The TDD books are especially noteworthy because, as you start writing
programs larger than a couple modules, you will discover that most
programmers spend most of their time debugging. The solution to this
connundrum is so simple it shouldn't need a book, but our industry has a lot
of "antipatterns" to overcome. The solution is to write tests for every kind
of behavior you need, to only add code when you can get a test to fail, and
to use Undo if a test fails unexpectedly (and you don't feel like applying a
light amount of debugging). Replacing our advanced interactive debuggers
with an Undo button helps code's behavior never depart from a known state.
Prevention is better than a cure.

The Refactoring books are significant because, no matter how smart you are,
you will always write code whose design could be improved after you read it.
You could fight this effect, by planning on paper for a long time, or you
can leverage it. Refactoring fits TDD like a glove.

Smalltalk (and Python & Ruby) is a strongly typed dynamic language. C++ is
an almost-strongly typed static language that introduces generics to cover
some dynamic typing abilities. Curiously, the higher level your code, the
more dynamic typing you need. Dynamic typing means that foo.bar() will
compile and execute no matter what type 'foo' is, so long as it has a method
'bar()'. This works as if all objects inherited a common interface, Object,
that magically declared every possible method.

Curiously, the big software vendors keep pushing statically typed languages,
Java & C#, while high-level code, such as GUI code or business-logic code,
typically must bend over backwards to provide dynamic typing. Free and
powerful languages, such as Ruby, supported entirely by their own programmer
communities, are going to teach these big software vendors a thing or to.

--
Phlip
http://industrialxp.org/community/bi...UserInterfaces


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
recommended libraries for B-trees / linked lists / sort etc . . . nntpman68 Java 2 03-11-2008 01:10 AM
Recommended Reading on Internet TheStoneCrusher Computer Support 11 09-13-2007 08:19 PM
Re: When will Thunderbird support sort in place (in context sort)? Ron Natalie Firefox 0 02-02-2006 04:38 AM
Password Hashing and Salting - Recommended Reading Guadala Harry ASP .Net 4 09-12-2004 08:43 PM
Ado sort error-Ado Sort -Relate, Compute By, or Sort operations cannot be done on column(s) whose key length is unknown or exceeds 10 KB. Navin ASP General 1 09-09-2003 07:16 AM



Advertisments