GOLSCO
Books Online Store
UK | Germany
books   baby   camera   computers   dvd   games   electronics   garden   kitchen   magazines   music   phones   software   tools   toys   video  
 Help  
Books - Business & Investing - Investing - Options - foo..

1-20 of 21       1   2   Next 20
Featured ListSimple List

Go to bottom to see all images

Click image to enlarge

C++ Strategies and Tactics (Addison-Wesley Professional Computing Series)
by Robert B. Murray
Average Customer Review: 5.0 out of 5 stars
Paperback (28 February, 1993)
list price: $42.95 -- our price: $38.09
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (6)

5-0 out of 5 stars I like this better than Effective C++ (second edition)
This was the original book of C++ "idioms and traps", full of practical details such as where to use virtual destructors and the correct way to write the copy constructor and assignment operators.Then Scott Meyer's book came along with such sparkle and wit that I put this book aside, even though they pretty much covered the same ground.The second edition of Meyers' book covers the new ANSI standard - and while this was needed, it has a fair amount of "code lawyering" and is no longer a breeze to read.I'm glad I held onto the Murray book to cover the basic concepts, even though it's slightly out of date.

5-0 out of 5 stars All C++ programer intermediate and up should have this book
Once you have good knowledge of the basics and know basic OOP, you should start reading this book. This book has lots of good information reguarding design and loop holes all new programer can commit. But its best feature is that its so easy to understand.

5-0 out of 5 stars Brain embedding knowledge
For the reviewer below that stated that this book is dated because it does not cover templates could not be farther from reality, as apparently he has not read the book nor has he looked at the table of contents. If my eyesare still functional, this book has two chapters consectutive dedicated toto templates, chapter 7 [Templates] and 8[Advanced Templates]. This book iseasy to read and for the novice wanting to get up to speed on the syxtax ofthe language and more importantly when and how to use each contruct of thelanguage, this book has no equal except two other books. The books areKayshav Dattatri's C++ Effective Object Oriented Software Construction andJames O. Copliens Advanced C++: Styles and Idioms from Prentice Hall andAddison Wesley respectively. This book is not even 300 pages which allowsyou to read it again and bolster what you vacumed on the first pass andready for instinctive mastery for the second and third passes if you arereally ambitious. The discussion on smart pointers is informative and willassist you in your way to patternizing COM code. This book is for allexperience types and serves as a perfect desktop reference guide for C++masters alike. With this book and the two mentioned above, plus the C++ IOStreams Handbook by Beale, there are no other books you should refer to,probably including Stroustrup's. ... Read more

Isbn: 0201563827
Sales Rank: 463552
Subjects:  1. C (Programming Language)    2. C++ (Computer program language    3. C++ (Computer program language)    4. Computer Bks - Languages / Programming    5. Computer Books: Languages    6. Programming Languages - C++    7. Computers / Programming Languages / C++   


$38.09

Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Average Customer Review: 4.5 out of 5 stars
Hardcover (15 January, 1995)
list price: $54.99 -- our price: $47.04
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it's not a tutorial but a catalog that you can use to find an object-oriented design pattern that's appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs. ... Read more

Reviews (187)

3-0 out of 5 stars Design Patterns CD - Needs updating
The CD version is not 100% compatible with current browsers.Internet Explorer v6 reports errors on every page and it's new security features disable some CD functionality.

The Java search engine does not function in both IE and Firefox.

The content is, of course, exceptional; but the reasons for buying the CD are lost in the new browsers.Stick with the book.

4-0 out of 5 stars An Excellent Intro and Reference for Design Patterns
You certainly can't get the information in this book from a more creditable source.The gang of four has produced an excellent book.The first two chapters get the reader in the patterns mindset and the document editor example introduces several patterns at a high level.

Though I wouldn't try to read the rest of the book cover to cover as it reads much like a textbook.It would be best to scan the handy patterns list on the inside cover and jump around to patterns that interest you or you've heard of.

These patterns certainly aren't the silver bullet to your design problems but becoming familiar with them will help you communicate more efficiently with your peers and avoid reinventing the design wheel.I often implement something and realize it is a pattern and then take a look at this book to see how to improve it.

4-0 out of 5 stars Caveat emptor
This is, of course, one of the cornerstones of OOP. This book definitely influenced programmers at all levels and richly deserves the acclaim that it enjoys.
However, this book is not for everyone, especially beginners. To be able to get the best out of this book, you need some solid experience in object oriented programming. This book is ideal for people who have been developers and are moving up to designers/architects. The foundation of real world experience makes a very good base for absorbing the experience captured in this book.
This book is not theoretical by any means. In fact, it captures the experience gained by many people in the course of their careers and offers practical solutions to typical problems encountered in software engineering, specifically object orientedprogramming.
The material in the book is authoritative and terse and would be daunting to a newbie. Most of the explantions and examples are offered without much ado, and expect a certain level of not just knowledge from the reader but also awareness about practical applications and typical scenarios encountered in practice.
I would say that this book is suitable for full time object oriented programmers (whatever the language) with at least a couple of years of experience looking to further strengthen their knowledge of OOP systems and looking to gain an insight into the practical aspects of how to solve typical situations in real world projects. ... Read more

Isbn: 0201633612
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books And Software    3. Computer software    4. Computers    5. Object-Oriented Programming    6. Object-oriented programming (C    7. Object-oriented programming (Computer science)    8. Programming - Object Oriented Programming    9. Reusability    10. Software patterns    11. Computers / Computer Vision   


$47.04

Object-Oriented Design Heuristics
by Arthur J. Riel
Average Customer Review: 5.0 out of 5 stars
Hardcover (30 April, 1996)
list price: $54.99 -- our price: $43.34
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (20)

5-0 out of 5 stars Reil answers the question - Is this a good design?
Into the second chapter I was weary if this book was going to live up to its reviews.I was disappointed with the coverage of the explanations given.So why 5 stars?

As I continued I began to understand what the author was trying to give the reader.Reil describes guidlines for creating OO software, around 60 to be specific.This is so what makes the book so fantastic.Riel has, through much experience, collected a list of specific 'rules' or 'heuristics' that should be applied to your OO designs.These rules set out to answer the million dollar question, 'is this a good design?'.The rules are one or two sentences each, and therefore easy to remember, and are all listed in the front and back cover for quick reference.Each rule is backed by a clear example, as well as sample C++ code in the appendix.

Any reader should be able to apply the simple rules easily as they go through the design process.This will not only give you confidance in your designs, but something to actually back them up.For example, if asked "Why did you make a uses relationship between these two classes instead of inheriting B from A?" you can reply, either to yourself or a co-worker, "Heuristic 5.15 - Do not turn objects of a class into derived classes of the class.Be very suspicious of any derived class for which there is only one instance."

Of course, as Reil makes note, some rules will contradict each other, and he justifies what to do in such cases.

Finally, it should be noted that the book is highly centered on the C++ language, but is easily applied to the other languages of today - Java, C#, etc.He does make several comparisons with SmallTalk.

If I was working on a design with someone, I would want to know that they have read and understood this book.I hope it will live on, and will reccomend it to all my co-workers.

5-0 out of 5 stars Best O-O book you will read
This book is absolutely required reading for anyone who wants to make effective use of O-O...nuff said!

4-0 out of 5 stars Almost great
First, the greatness. These heuristics, rules of thumb, are true gems. The are short, memorable, and widely applicable. They are practical advice - Riel consciously avoids creating yet another methodology. Sooner or later, though, every methodology comes down to the tactical exercise of implementation. That's when you'll find Riel's advice useful, irrespective of how you started.

Riel certainly does not list the only heursitics possible. I might have added "Create classes when behavior differs; create objects when data differs", and I'm sure an experienced reader could add lots more. Some of these heuristics don't apply in all cases. "All base classes should be abstract," for example, might be tempered with concrete default bodies for some or all methods. Also, "All data should be hidden" is too dogmatic for me. It disregards 'const' or 'final' data elements including control constants, and deserves more discussion in the case of a subclass/superclass relationship. Still, the suggestions are generally good. Even better, they are phrased so as to invite thought and thoughtful critique by the reader.

I'm afraid that I did not find this book to be the ideal setting for these gems. Although the aphorisms are clear and concise, the prose around them is not. I know that publishers often prefer books of some minimum length, but padding does not serve the content well at all. Most of the book's second half is code listings. They certainly add bulk, but the book and the code both would have been better served by putting the code at the publisher's web site or on an included disk.

The discussion of each rule of thumb would have benefitted from a more disciplined style, too. For example, each heuristic could have been described methodically according to its applicability, the symptoms indicating that it should be used, and the code transformations needed to apply it. That's not the only format Riel could have used, and probably not the best. Almost anything would have given the book a more regular rhythm, however.

I like this book and I'll recommend it. It has aged a little since its 1996 printing, and wants desperately to be a more concise book. Still, it's a good complement to more recent discussions of patterns, antipatterns, and refactorings. I suggest it to anyone who develops or maintains OO code, and especially to anyone who teaches OO programming. ... Read more

Isbn: 020163385X
Sales Rank: 94853
Subjects:  1. Computer Bks - Languages / Programming    2. Computers    3. Object-Oriented Programming    4. Object-oriented programming (C    5. Object-oriented programming (Computer science)    6. Programming - Object Oriented Programming    7. Science/Mathematics    8. Computers / Programming / Object Oriented   


$43.34

The C++ Programming Language (Special 3rd Edition)
by Bjarne Stroustrup
Average Customer Review: 4.0 out of 5 stars
Hardcover (15 February, 2000)
list price: $69.99 -- our price: $55.34
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

In this brand-new third edition of The C++ Programming Language, author Bjarne Stroustrup, the creator of C++, presents the full specification for the C++ language and standard library, a spec that will soon become the joint ISO/ANSI C++ standard.

Past readers will find that the new edition has changed a great deal and grown considerably to encompass new language features, particularly run-time type identification, namespaces, and the standard library. At the same time, readers will recognize the lucid style and sensible advice that made previous editions so readable and enjoyable. Probably the biggest change is a substantial new section, well over 200 pages in length, covering the contents and design of the C++ standard library, the most important new feature of the C++ specification. The author has also added a substantial number of new exercises while keeping many from previous editions that have retained their value.

While The C++ Programming Language is not a C++ tutorial, strictly speaking, anyone learning the language, especially those coming from C, will greatly benefit from the clear presentation of all its elements. It is impossible to overstate the importance of this book for anyone who is serious about using C++. ... Read more

Reviews (249)

5-0 out of 5 stars Essential Reading for Real C++ Developers
This is not an introductory programming book.This is a book about what C++ has to offer and how to best take advantage of it.It will be most useful to people that already know another language (C would make your life the easiest) and want to learn C++.

The first three chapters do a great job introducing the major facilities of C++ and how to think in C++ terms.The coverage of different programming paradigms will be useful to all developers.Also, the material on inheritance and multiple inheritance in particular, is clear and insightful.

This book is an excellent tutorial and reference.Though it is dense reading and the code examples are typically short but not inadequate.You may also have some trouble jumping around to a particular section as the examples often build from previous sections.But it is easy to backtrack to get the big picture.

Anyone writing nontrivial C++ applications should read this book.

5-0 out of 5 stars For expirience programmers - The best
This book is the favorite on c++.
It truly covers the language.
However, buy it just if you are not new to C++ since it is for advanced programmers.
D. Orbach
booksprice - one book one click best price

3-0 out of 5 stars A must-have, yet imperfect text
Anyone aspiring to be a solid C++ programmer will want this book.The text appears to be thorough, and the chapters are organized such that one can find the sections she is interested in.

In reading this book, I get the impression that Stroustrup is attempting to "clone himself" in its reasoning and explanations.This is beneficial from one standpoint -- the man is clearly brilliant, and he knows his topic as very few experts do.That said, this book is not even slightly concise and might not function well as a quick introduction or a quick reference.

By "concise", look at Appendix B:Standard Library of THE C PROGRAMMING LANGUAGE, SECOND EDITION by Brian Kernighan and Dennis Ritchie.In 18 pages, these gentlemen say almost everything that needs to be said about C's standard library.There are no examples, and there is very little discussion.

The C++ standard library does immensely more than the C standard library, and the concepts are far more complex.I can't expect Stroustrup to address everything in 18 pages, yet I believe he can be a lot more "to the point" than he is in his book (or at least a portion thereof).

I also find numerous places where I question Stroustrup's advice and generalizations, but I find no fault in the fact his views and mine differ sharply in places.Anyone who understands what Stroustrup is saying will be able to agree or disagree for herself.

An immense plus for this text is its completeness.I once faced a C++ examination after having studied a Microsoft Press textbook which said it covered C++, but in fact left enormous sections on the language untouched (e.g., templates were not mentioned).My score reflected the gaps in that textbook.By contrast, an examination in C taken the same day placed my score in the top 1% of the United States -- and the only book I read was the aforementioned Kernighan & Ritchie.

If you already know some C++, and you want to REALLY know C++, and you want to do this in a single book (you'll have to read it more than once), I think that Stroustrup's is the one for you to read. ... Read more

Isbn: 0201700735
Subjects:  1. C (Programming Language)    2. C++ (Computer program language    3. C++ (Computer program language)    4. Computer Bks - Languages / Programming    5. Computer Books: General    6. Computers    7. Programming Languages - C++    8. Computers / Programming Languages / C++   


$55.34

Dynamic Hedging : Managing Vanilla and Exotic Options (Wiley Finance)
by Nassim NicholasTaleb
Average Customer Review: 4.0 out of 5 stars
Hardcover (20 December, 1996)
list price: $100.00 -- our price: $63.00
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (33)

5-0 out of 5 stars Real bookfor traders
really great to figure out the intricacies of options. if you need something more conventional just get hull; this book is bysomeone who does it for a living and has different intuitions than what you get in the ivory tower.
some of the points are great but may need more updating

1-0 out of 5 stars Not Worth the Read
This book is surely not worth reading.The formulas and analyses are more often incorrect than they are correct.As much as he likes fluffing people with PhDs (which I have - in mathematics), I can't help but feel he himself lacks the requisite skills for proper option analysis.This is not a book any serious trader, quant, risk manager, or academic should bother adding to their library.

3-0 out of 5 stars Derivatives Theory meets Practice
This book provides a healthy dose of practical wisdom for options traders so that they don't blindly follow their mathematical models into oblivion. The author (Taleb) has a PhD in finance, but also has traded in the pits, he knows both theory and practice and where they diverge.

Taleb focuses on hedging, which is a trader's main task when running a large portfolio of options.Instead of using a flood of equations, Taleb relies on charts, graphs, and tables to make his points. Most of the equations & heavy mathematics are relegated to the appendix, presumably because quants (or software) will price the instruments.He covers the behavior of the Greeks (delta, gamma, vega, theta, etc.) for vanilla options as well as behavior of exotic options, and delves into the practicalities of volatility, hedging at discontinuities, and various other topics.

The book is very popular on trading desks, and although I found it pretty good, I didn't find it to be outstanding.Also, notably, the book does NOT cover credit & interest rate derivatives at all; hopefully this will be corrected in the next edition.

So if you need a book on the practicalities of hedging a portfolio of vanilla/exotic options, then get this book. On the other hand, if you want some basic options theory, or want to focus more in pricing, or need a basic introduction, look elsewhere (perhaps to Hull's or Wilmott's books). ... Read more

Isbn: 0471152803
Sales Rank: 27687
Subjects:  1. Business & Economics    2. Business / Economics / Finance    3. Business/Economics    4. Derivative securities    5. Exotic options (Finance)    6. Futures And Options Trading    7. Hedging (Finance)    8. Investments & Securities - General    9. Investments & Securities - Options    10. Options (Finance)    11. Business & Economics / Investments & Securities    12. Stocks & shares   


$63.00

Financial Calculus : An Introduction to Derivative Pricing
by Martin Baxter, Andrew Rennie
Average Customer Review: 4.0 out of 5 stars
Hardcover (19 September, 1996)
list price: $66.10 -- our price: $44.24
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (24)

5-0 out of 5 stars A gem of a book
This small textbook is a hard find in the finance world. The authors have managed to clearly explain a topic that is very difficult and unclear to begin with. It would be nice to see this book expanded into a larger text with practice problems, solution sets, and discourse on relevant research and current journal articles. Nonetheless, I thoroughly recommend this book to students and practitioners of finance alike.

N.

5-0 out of 5 stars A nice place to start
This is a good place to start if you have a good grasp of calculus and probability (just undergrad level-no measure theory or SDE needed). I am using it as a main text for a class and the book is very compact and precise as the same time it covers the main battle ground of the field of financial mathematics.

My training is math and when I need the financial applications, I support it with John Hull's bible. As a math person, I get tiered of reading the pages and pages of long stories in Hull'sbook which can be summarized by a couple of equations with brief description. Hence, if you are like me who can understand (short) stories equipped with mathematical symbols, I definitely recommend you start here.

4-0 out of 5 stars Compact, accessible yet rigorous introduction.
This text is a useful introduction to derivatives pricing. The examples and exercises are well-thought out and relevant, but I took off a star because there weren't more of them. One of the authors' stated goals was to bring the text's readers up to a level of rigor that would enable them to model new financial products for which "off the shelf" tools were not available. They succeeded admirably.

This ought not to be the only such book in your library, but if you need a quick but still rigorous introduction or if you're a student struggling with a less than idea class text, this work is invaluable. ... Read more

Isbn: 0521552893
Sales Rank: 18655
Subjects:  1. Calculus    2. Derivative securities    3. Economics - General    4. Investment Finance    5. Mathematics    6. Prices    7. Probability & Statistics - General    8. Science/Mathematics    9. Finance    10. Mathematics / Statistics    11. Probability & statistics   


$44.24

Collateralized Mortgage Obligations: Structures and Analysis, 3rd Edition
by Frank J.Fabozzi, ChuckRamsey
Hardcover (July, 1999)
list price: $69.95 -- our price: $44.07
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Isbn: 1883249627
Sales Rank: 187116
Subjects:  1. Business & Economics    2. Business / Economics / Finance    3. Business/Economics    4. Credit    5. Finance    6. Investments & Securities - General    7. Real Estate - Mortgages    8. Business & Economics / Investments & Securities    9. Finance & Accounting   


$44.07

Inside the C++ Object Model
by Stanley B. Lippman
Average Customer Review: 4.5 out of 5 stars
Paperback (03 May, 1996)
list price: $49.99 -- our price: $43.48
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Bestselling author Stanley B. Lippman's Inside the C++ Model provides valuable insight into some of the internal workings of the C++ language. This book is a product of a decade of research at Bell Labs (where Lippman worked with C++ inventor Bjarne Stroustrup) and Lippman's considerable C++ expertise. Written with the experienced C++ programmer in mind, this book looks at how key language features are implemented underneath the hood and provides some guidelines when designing C++ classes.

This title first examines how C++ objects work--showing the differences between C++ structures and classes. The author looks carefully at the varieties of C++ constructors, including default and copy constructors, data members, and initialization.

Subsequent sections cover inheritance, including virtual inheritance, and the inner details that will help you create effective and robust data types. The author frequently points out inefficiencies (and efficiencies) that can occur when instantiating objects. The book closes with a tour of more advanced C++ language features, such as templates, exception handling, and run-time type information. This book can help make you the resident C++ language expert at your programming shop. --Richard Dragan ... Read more

Reviews (12)

5-0 out of 5 stars Great for any serious C++ user
If you have been using C++ for a while now, and you REALLY want to know what is going on under the hood, read this book - and gain and again until you have memorized it.As a software architect, I use this book almost on a daily basis - most of the time to prove my case and to show what is really going on behind my design decisions.
The benchmarks are useful as they really show you what the difference between C, C++ is with various compilers.I have referred to those benchmarks more times than I can remember.

5-0 out of 5 stars Amazing book on the internals of C++
If you a series C++ programmer, you need this book.It's one level of abtraction above knowing how compilers work, and one level of abstraction below any advanced C++ book.It tells you what the compiler generates, and how much will is cost.Speed comparisons, and all.Object models of Inheritance, multiple inheritance, virtual inheritance, and the underlaying structure of how these things work.Great C++ book...

5-0 out of 5 stars unique book showing inards of C++
Lots of books contributed to the beaten path and few books shed lights on the dark inards.

It's the book, lifting the hood of your car, tearing the transmission apart, showing readers the internals of it. So that readers understand not only the appearances or riding, but also get how things works, reasons for features and limits, the facts and the dirty hands.

After finishing the book, readers in better position in driving and, if need, rebuilding a new C++. ... Read more

Isbn: 0201834545
Subjects:  1. C (Programming Language)    2. Computer Bks - Languages / Programming    3. Computer Books: General    4. Computers    5. Programming Languages - C    6. Programming Languages - C++    7. Computers / Programming Languages / C++   


$43.48

ATL Internals (The Addison-Wesley Object Technology Series)
by Brent E. Rector, Chris Sells
Average Customer Review: 4.5 out of 5 stars
Paperback (31 March, 1999)
list price: $54.95 -- our price: $37.37
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Written for the advanced C++ programmer, ATL Internals reveals the inner workings of the Active Template Library (ATL), the toolkit of choice for building today's lightweight Internet and server components.

The book begins with a tour of the ATL code generated by the Microsoft Visual C++ 6 AppWizard. The authors introduce fundamental ATL programming issues here, but they do not provide a general introduction to COM or ATL; they assume that readers have a good deal of background in both C++ and COM.

The book focuses on the extremely useful ATL support classes for managing strings (BSTRs), variants, and smart pointers. It covers the classes that help instantiate COM components (and examines support for different threading models and "creator" classes). The guide continues with object internals--covering object maps and the classes used to manage them--and interfaces, including aggregates and various interface design options. Information on ATL's support for persistence, which lets objects save and restore their state; on how ATL supports basic containers; and on interfaces that work with the Standard Template Library (STL) in C++ is well done.

Later sections explain how to work with windows and ActiveX controls. After some material on events (and connection points), the authors reveal ATL support for basic window operations, including dialogs. For building a custom ActiveX control, the authors provide an excellent example of a nicely functional visual control. (This code will prove invaluable since it illustrates all the essentials of ATL component programming.) --Richard Dragan ... Read more

Reviews (57)

5-0 out of 5 stars This is a six star book
ATL internals is the final word on ATL. No other book is needed to master ATL.

I have a good number of books on COM and ATL but gettingthe low down on ATL starts and ends in this book. The coverage in unbeleiveable. It will make you think you were part of the ATL implementation team.
This book is not a short cut for learning COM programming.You should have a good understanding of how COM works and you also need to know your c++ well(emphasis on well. This book does not teach c++)
However, considering the .NET revolution, ATL may not be of much use for much longer.But if for some reason you need to learn ATL, this book is the ATL University.

5-0 out of 5 stars Don't do ATL or COM without it
This is simply one book that you do not want to be without when designing and implementing a COM project.I purchased the book after I found myself in my first COM project and without any coworkers with any experience in this area.As a comment, I've also rummaged around the Internet and purchase ...books in the effort to come up to speed as quickly as I can. ATL Internals is the best source of data on ATL that I've found so far.

ATL Internals not only discusses ATL but also does and excellent job discussing COM's theory of operation and how a Win32 OS supports COM.

As a warning, however, ATL Internals isn't the only book that you need on a COM project because it is specialized on ATL (and on COM in general).While ATL is useful it is not the only thing that you will have to deal with on a COM project.You will probably need to work with IDL files and for that I can unequivocally recommend "Essential IDL" by Martin Gudgin.

ATL Internals accomplishes several things well; I will try to describe the most valuable aspects of this book.One of the best properties of this book is that it is thorough.It covers ATL in depth.

The following is a partial list of the material in ATL Internals:

1) ATL Internals covers using the wizards and explains how to proceed beyond the point where the wizards quit.
2) A though discussion of ATL facilities. For example: CComPtr(a COM smart pointer), CComBSTR (a class wrapped around the error-prone BSTR datatype) classes are covered in detail.The text conversion macros are completely covered here. In other books and on the internet I saw code examples that used them but will little explantion.
3) Bug warnings, both your (potential) bugs and bugs within ATL.The authors point out the buggy parts of ATL and they invest the necessary effort to warn out about aspects of ATL that, if naively used, create bugs. Numerous pages are dedicated to showing both how to correctly use certain hazardous parts of ATL as well as examples of buggy code.Depreciated techniques are also described for completeness.
4) Discussion and examples of various COM issues, including threading issues, connection points, the Service Control manager (SCM)and so on.
5) Detailed discussion of the numerous macros that Microsoft uses to conceal substantial code, (e.g. BEGIN_OBJECT_MAP, COM_INTERFACE_ENTRY_IMPL, etc.)
6) One of the appendixes shows a cross reference between ATL classes and header file names.This was a welcome convenience (yes I could have greped, but this is quicker)

ATL Internals not only has great content but it is written in a very readable style.The typeset is easy to read and the diagrams are well done.

5-0 out of 5 stars The best book for understanding what's REALLY going on
I first bought this book because it was the only one I could find that had a discussion of ICollectionOnSTLImpl that I could understand.I was already fairly familiar with ATL - at least how to use the wizards - but found that a lot of the documentation that was available was less than useful, especially the collections stuff.

After successfully using Chapter 7 (Collections & Enumerations) for what I needed, I went back and read the whole book from front to back, and started really to understand what was happening under the covers - the whys and wherefores for all of the seemingly quirky little code chunks that I had seen peppered throughout my code, but not understood fully.

This book has become an indispensible resource, that I keep close at hand.I can't really recommend it as a first book on COM or as an introduction to ATL, but this is not a criticism, because that's not its intended purpose.For in-depth coverage of the workings of ATL, though, I haven't come across a better book. ... Read more

Isbn: 0201695898
Subjects:  1. Active template library    2. Application software    3. Computer Bks - Languages / Programming    4. Computer Books: General    5. Computers    6. Development    7. Microcomputer Application Software    8. Microcomputer Operating Environments    9. Operating Systems - Windows    10. Programming - Object Oriented Programming    11. Programming Languages - C++    12. Computers / Data Processing   


$37.37

Essential COM
by Don Box
Average Customer Review: 4.5 out of 5 stars
Paperback (22 December, 1997)
list price: $49.99 -- our price: $34.99
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

The Component Object Model (COM) is deep and extremely difficult, making it impossible to grasp the ideas behind this specification quickly or easily. Don Box, the author of Essential COM concedes that it took him six months of reading documentation, writing programs, and experiencing general puzzlement before he had his personal COM epiphany. Nonetheless, if you're a C++ programmer and you want your skills to continue to be relevant in a PC market dominated by Windows 95 and Windows NT, you need to get going down the path toward your own COM enlightenment. COM is the tool of choice for creating distributed and concurrent systems for modern Microsoft operating systems. If there's a book that will help you get a handle on the COM phenomenon, Essential COM is it.

Endorsed by object-orientation guru Grady Booch and Microsoft COM expert Charlie Kindel, Box's book takes the reader from an elucidating discussion of why a demand exists for COM and how it fits into the progression of C++ technology to a cool exhibition of some COM programs he's written. Along the way, Box covers the four corners of COM interfaces, classes, apartments, and security--all explained in developer's detail. He also gives attention to access control, marshaling, and Distributed COM (DCOM). Essential COM isn't an application programming interface (API) reference; it is an exploration of the Tao of COM. As the author says in his preface, you will figure out the how of COM programming quickly, as soon as you grasp the why. ... Read more

Reviews (80)

2-0 out of 5 stars To cenceptual, not practical for a newby to COM
The biggest problem I've had with this book is that the examples are incomplete.I am used to learning by starting with a basic program and implementing more and more features of the api step by step.In this I can ensure I have mastered the basic concepts before moving on.Unfortunetly this book does not use this technic.Although it starts with the basics and progresses, it does not have working examples of just the basic implementation. Therefore if you are confused by a particular section that does not have much practical code, then you are at a loss and will not be able to move on through the book since subsequent sections will be building upon the one that you may have stumbled on.Code snippets are just not enough for me to grasps the subject.There is a complete example downloadable from the book's website, but the example implements all of the advanced features, which is far to overwhelming for a COM novice such as myself.

3-0 out of 5 stars Highly technical but the writing could be better.
Don Box is probably the most widely known authority on COM and this shows.
From the motivating example of the first chapter, to thorough
discussions of object location, instantation, naming, remote invocation, this book was certainly worth reading.

But sometimes I feel like the author is showboating with his opaque/jargon-filled writing; it just isn't as clear as say
a Kernighan, a Tanenbaum or even some others writing about MS Specific Technology.

4-0 out of 5 stars Definitely Essential
If you are already familiar with COM in C++, then here is a book that can bring your skill to the next level.For those of you who already own many many books on COM, your collection wouldn't be complete if you miss this one.

This book continues on where many others left off.It digs deep down and explores the areas that are ESSENTIAL to your understanding of COM's intricacies.Many insights given in this book are rare, and you probably won't find it elsewhere.If you are already familiar with COM, here is a book that surprisingly still intrigue you on the subjects that you think you already knew.

Though, I don't recommend this book for beginners.As the matter of fact, if I was new to COM and had to write a review for this book, I probably would have only given it 2 stars.It is not because the book is bad, it is simply that this is NOT one of those how-to-book. However, if your level is in the intermediate to advance, you will most definitely want this one.

So, if you do decide to get this book, here is my tip for reading it.Don't try to read the book from front to end, for you may not find enough momentum to get pass the second chapter - that is, if you not into theory and all.Instead, just jump to the chapters that interest you the most.Also note the chapters near the end are very addictive, so you may want to start the book from there.This is how I "re-gained" the incentive to finish the book.
You welcome:) ... Read more

Isbn: 0201634465
Subjects:  1. C (Programming Language)    2. C++ (Computer program language    3. C++ (Computer program language)    4. Computer Bks - Languages / Programming    5. Computer Books: Languages    6. Computers    7. Object-Oriented Programming    8. Object-oriented programming (C    9. Object-oriented programming (Computer science)    10. Operating Systems - General    11. Programming - Object Oriented Programming    12. Programming Languages - General    13. Computers / Programming / Object Oriented   


$34.99

Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition)
by Doug Lea
Average Customer Review: 4.0 out of 5 stars
Paperback (05 November, 1999)
list price: $49.99 -- our price: $43.10
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Concurrent Programming in Java, 2nd Edition surveys a wide field of research in parallelism and concurrency and shows how to do more with multithreading in Java with dozens of patterns and design tips. Written for the advanced Java developer, this book offers a comprehensive tour of leading-edge thinking about parallel coding processes.

Within the dozens of techniques and tips offered here, this book accomplishes at least two goals. First, it shows how concurrency is implemented by default within Java, with material on how built-in features (like the synchronized keyword and its memory model) can be expected to perform when dealing with multiple threads. Naturally, Java threads themselves are also covered, including priorities, scheduling, and the like.

Much of this book looks at ways to improve performance of concurrent code beyond the simple default strategies. After defining criteria for measuring concurrent code (such as safety and "liveness," a measure of running live threads effectively), the book presents dozens of techniques for letting threads work together safely. For the working Java programmer, coverage of patterns that have been implemented in the downloadable java.concurrency package will be the most immediately useful. (Within this nearly encyclopedic survey, short code snippets are used for every pattern and concept.)

Though theoretical at times, this book offers plenty of ideas and sample code to get you started thinking of ways to improve multithreaded code.

Impressively comprehensive, Concurrent Programming in Java offers a veritable bible of techniques for doing two things at once with threads in Java. It's a worthwhile guide to the state-of-the-art strategies for improving the performance of your Java threads. --Richard Dragan

Topics covered: Threads and concurrency in Java, design considerations (safety, liveness, and performance), Before/After Patterns, layering, adapters, immutability and synchronization, deadlock, resource ordering, the Java Memory Model and concurrency, using the java.concurrency package, confinement, refactoring for concurrency, mutexes, read-write locks, recovering from failure, notifications, semaphores, latches, exchanges, transactions, one-way messages, worker threads, polling and event-driven I/O, parallelism techniques (fork/join, computation trees, and barriers), Communicating Sequential Processes (CSP). ... Read more

Reviews (45)

5-0 out of 5 stars Will make you a better programmer, but not for beginners.
This book is great but don't read it as your first introduction to Java threads.

This book is not about Java threads per se, but more about design patterns and good object oriented programming practices as applied to concurrent programming (hence the title). Doug Lea is a university professor and this book has a very academic style, including a ton of references to an impressive array of concurrency and object oriented research. While this makes the material somewhat dense, it is very thorough and thankfully supplemented by actual code snippets (Doug Lea also makes significant contributions to the Java SDK and writes great code).

Especially notable are the sections on semaphores and locking in general. Users of util.concurrent (which directly supplements this book), and even the new Java 5.0 concurrency utilities (which were written by Lea and company), will get tremendous value out of these chapters as the locking strategies form the backbone of the higher level classes found in those packages.

For beginners, read "Java Thread Programming" by Paul Hyde, and then try this book.

1-0 out of 5 stars "This is Phylosophy of concurrency".
This is not "concurrent programming".This is only "philosophy of concurrency".I think so too.

5-0 out of 5 stars Excellent, Deep & Clear
Doug Lea does an excellent work.
On the one hand, he does much more than cover the API. He teaches you to *think* & understand multithreades. Example: he doesn't just state the java API won't let you modify a datastructure while iterating on it. He goes further to explain *how* java prevents this, and then details several methods to work around it. This particular example has greatly helped me with a project I'm on.
On the other hand, I found the explanations clear and easy to follow. Great book... ... Read more

Isbn: 0201310090
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: Languages    3. Computers    4. Java (Computer program languag    5. Java (Computer program language)    6. Parallel programming (Computer    7. Parallel programming (Computer science)    8. Programming - General    9. Programming Languages - Java    10. Computers / Programming Languages / Java   


$43.10

Generic Programming and the STL: Using and Extending the C++ Standard Template Library
by Matthew H. Austern
Average Customer Review: 3.5 out of 5 stars
Hardcover (13 October, 1998)
list price: $54.99 -- our price: $47.41
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (13)

2-0 out of 5 stars this book is not for a beginner
i am new to the C++ STL. i try to understand how string, vector works by reading into this book. however, the book may be good for a STL designer, but definitely not for a beginner like me. the whole book lacks some practical examples to illustrate the concept.

4-0 out of 5 stars Good Book On the Design of STL
As one of the few non-tutorial books on the design of STL, the book serves its purpose. It illustrates that the STL is built on top of concepts, a different kind of abstraction from the traditional OO. It also explains in details how this abstraction is applied through iterators, containers, and algorithms, as well as their STL way implementation in C++.

However, this book has several weaknesses. With all my respects to the author, I think that not enough is devoted to illustrate the big picture of how the STL uses these abstractions. For example, after explaining the iterators and containers, the book doesn't explain how the iterators serve as a bridge between generic algorithms and containers - the abstraction of iterators makes it possible to write generic algorithms without the knowledge of the type of the container, and vice versa.

On the practical side, I think that while the book spend too much space on a complete reference manual to STL, not enough is spent on discussing the practical issues of extending and using STL such as making a non-trivial custom container or a custom memory allocator.

4-0 out of 5 stars Pretty good job
The language C++ cannot be thought of as a mere extension to the C language. It supports object-oriented programming, and even more importantly, the generic programming paradigm. This book gives an overview of how C++ fits into the generic programming paradigm, and the author does a decent job of explaining how this is done. Anyone familiar with C++ and the Standard Template Library should have no problem following the dialog in the book. The approach taken by generic programming can be very abstract, but it is extremely powerful, and one that allows generality and economy of thought in programming.

After a brief summary of the STL in chapter 1, the author moves on to studying linear search and iterators in chapter 2. The author stresses the need to design algorithms that are independent of the data structures they operate on. The discussion sets up the terminology and concepts for later chapters on function objects and containers in later chapters. The author introduces the idea of a concept, which is essentially a collection of type requirements, types, and valid programs. Readers with a background in mathematical logic are referred to the references for a discussion of the connection between concepts and the theory of many-sorted algebras. Iterators are introduced as five different types of concepts, these all serving as a generalization of pointers. The five kinds of iterator concepts are discussed in detail in the chapter. These concepts do have properties in common, and this leads the author to consider refinements of concepts. In addition, the different iterator concepts allow the author to classify generic algorithms according to the iterator concepts it uses.

The discussion of iterators is continued in the next chapter, where iterator traits and associated types are discussed. The idea of an iterator value type is introduced as the object type the iterator points to. The author introduces, interestingly, a generalization of the type overloading capability of C++ to concept overloading, and he shows in detail how to emulate concept overloading in C++ .

Function objects, which I consider one of the most powerful and useful concepts in generic programming, are discussed in chapter 4. Function objects are introduced as entities that can parameterize any kind of operation, and the author gives good arguments to show that every algorithm can be generalized by abstracting some part of its behavior as a function object. The associated types of a function object are the types of its arguments and return values. The composition of functions, so familiar in elementary mathematics, is here generalized to function objects via function object adaptors. Thus one can view function objects as entities behaving as expected in a mathematical sense.

Containers are then introduced in chapter 5, essentially as generalizations of arrays, and the author stresses that the elements of a container are actual objects and not addresses. This "value semantics" of containers is shown to be a useful strategy by the author.

The next part of the book begins an overview of generic programming concepts that are applicable in general, and not just the STL. STL though is given as an example in the discussion, and this is somewhat disappointing given the emphasis on generality. But the author does outline with clarity the important constructions in generic programming, such as iterators, function objects, and containers. Therefore this part of the book does serve as a good reference manual.

The next part is a reference manual on the algorithms and classes available in the STL. The discussion on memory management primitives is useful for it gives information on the algorithms used to manipulate uninitialized storage in order to implement containers. Nonmutating algorithms, which are used for operating on a range of iterators without changing the elements they point to, are given a good overview, as are mutating algorithms, which modify the values pointed to by a range of iterators. The discussion of the predefined function objects is also useful, as they implement most of the standard arithmetic operations, such as multiplication and addition, and the logical operations, such as AND and OR. In addition, the discussion of member function adaptors is useful since it shows the reader how to call member functions as function objects. A polymorphic function call will result if the member function is virtual, and this, the author states, is a link between generic programming and OO-programming in C++

The very important Vector class is discussed also, stressing its ability for automatic memory management. In my experience, the Vector class has been one of the most useful features of the STL. ... Read more

Isbn: 0201309564
Sales Rank: 33514
Subjects:  1. C (Programming Language)    2. C++ (Computer program language    3. C++ (Computer program language)    4. Computer Bks - Languages / Programming    5. Computer Books: Languages    6. Computers    7. Generic programming (Computer    8. Generic programming (Computer science)    9. Programming - General    10. Programming Languages - C++    11. Standard template library    12. Computers / Programming Languages / C++   


$47.41

Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Average Customer Review: 4.5 out of 5 stars
Hardcover (28 June, 1999)
list price: $54.99 -- our price: $47.14
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Your class library works, but could it be better?Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.

Besides an introduction to refactoring, this handbook provides a catalog of dozens of tips for improving code. The best thing about Refactoring is its remarkably clear presentation, along with excellent nuts-and-bolts advice, from object expert Martin Fowler. The author is also an authority on software patterns and UML, and this experience helps make this a better book, one that should be immediately accessible to any intermediate or advanced object-oriented developer. (Just like patterns, each refactoring tip is presented with a simple name, a "motivation," and examples using Java and UML.)

Early chapters stress the importance of testing in successful refactoring. (When you improve code, you have to test to verify that it still works.) After the discussion on how to detect the "smell" of bad code, readers get to the heart of the book, its catalog of over 70 "refactorings"--tips for better and simpler class design. Each tip is illustrated with "before" and "after" code, along with an explanation. Later chapters provide a quick look at refactoring research.

Like software patterns, refactoring may be an idea whose time has come. This groundbreaking title will surely help bring refactoring to the programming mainstream. With its clear advice on a hot new topic, Refactoring is sure to be essential reading for anyone who writes or maintains object-oriented software. --Richard Dragan

Topics Covered: Refactoring, improving software code, redesign, design tips, patterns, unit testing, refactoring research, and tools. ... Read more

Reviews (102)

5-0 out of 5 stars valuable reference book
While it is no groundsbreaking stuff, it is very useful for people who want to bring better design into existing code; or those who are just unhappy with the existing code. It clearly identified common problems with existing code and provides techniques to help you make it better. While experienced programmers have most likely used some of these techniques on their own, reading this book helps you remember/organize these techniques in your mind. One of the most useful things is that Martin outlines the steps to take to get to the desired code - each step is very small so as to minimize your chance of screwing it up.

4-0 out of 5 stars Teaches concept not coding
Some of the reviews here have focused on this book as a way of learning coding techniques for refactoring. Other reviews have focused on refactoring being another term for what they have already being doing. While learning some new coding techniques might be a side effect of reading this book, the real value of this book is descibing a process and terminology for facilitating refactoring - something that many developers have done on an ad-hoc basis for years. It has been invaluable in broadening the acceptability of refactoring, an activity that was often dismissed as not being a good use of development resources time. It also gives a vocabulary for discussing refactoring rather than relying on engineers own adhoc practices. And there's probably a few refactoring techniques that won't seem obvious.

For C# users,you may wish to look at NUnit.org for a .Net version of the JUnit software mentioned in the book.


5-0 out of 5 stars Finally, the technique has a name!
Although this book has been around for a few years now, the technique that Fowler names "Refactoring" is as old as programming.I've been doing refactoring for the twelve years I've been a professional programmer, often to the chagrin of my supervisors; they often seemed to subscribe to the "if it ain't broke, don't fix it" mentality.Yet I could always tell that the code *was* broken, even if it didn't appear that way when the product was used.I was beginning to suspect that I was the only one who saw this, and then I read this book - written by an eminent researcher in the field and one of the brightest people to ever put pen to paper.

By giving a name to the technique, it can be talked about in planning/design meetings, discussed as a best practice, measured, and demonstrated.But Fowler takes it much further - he gives names to common refactoring techniques as well as what he calls "bad smells", or signs that you need to refactor.("Speculative generality", for example - a perfect name for an annoying tendency of the 10,000-foot architects).

This book is well-researched and well thought out, and is a must-read for anybody who's serious about software development.It's principal value is in providing common terminology for common actions, in addition to good justifications for each refactoring. ... Read more

Isbn: 0201485672
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books: General    3. Computers    4. Object-Oriented Programming    5. Object-oriented programming (C    6. Object-oriented programming (Computer science)    7. Programming - General    8. Programming - Object Oriented Programming    9. Software refactoring    10. Computers / Programming / Object Oriented   


$47.14

The Design and Evolution of C++
by Bjarne Stroustrup
Average Customer Review: 4.5 out of 5 stars
Paperback (29 March, 1994)
list price: $49.99 -- our price: $39.32
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France
Reviews (16)

5-0 out of 5 stars Modeling Engineer
This is a great book for those who want to understand the history of C++, the details of its implementation and more importantly, this language's spirit.

3-0 out of 5 stars For the Novice C++ Programmer
I was taking a graduate class for beginning C++ students. The book gave a wonderful history of C++.I would recommend for students who have not taken C or C+ to understand the scope of how powerful C++ is.This is also a good book for the introduction to object-oriented programming.

5-0 out of 5 stars the story behind C++
This book is very interesting in that it doesn't tell you how to program in C++ but rather highlights why C++ is the way it is today. It starts with the very roots, an extension to the C language ('C with classes'') Bjarne devised back in 1979, because he faced a software engineering problem at the time where all currently available tools seemed inappropriate. This highly real world oriented design attitude was kept throughout the evolution of C++ - Bjarne specifically didn't want to produce an 'academic' language. This view and the absolute necessity for C compatibility and efficiency explain lots, if not all, of C++s more ugly syntactic and semantic constructs. While the book has chapters dealing with very specific parts of the language, I found the philosophical chapters the most interesting. These explain the author's personal views on programming and design in general and consequently why certain things were accepted or rejected into C++. Bjarne stresses the point that C++ was designed from the beginning to be a 'multiple paradigm' language. Object oriented programming was never meant to be, and is not, the only valid - holy grail - style of programming, that many make it out to be. It's quite frustrating to see features devised ten years ago still not properly supported by the current crop of compilers, templates for example (export anyone?).
The book is not for the novice programmer, but for the experienced C++ user who wants to know the whys behind the language. While a novice might be interested in that information too, it is not an advisable lecture for those readers, since they might easily get confused with the source code examples showing directions in which C++ did not evolve.
To quote one of the design goals: 'C++ is a general-purpose language designed to make programming more enjoyable for the serious programmer' - I think it succeeded. ... Read more

Isbn: 0201543303
Sales Rank: 121168
Subjects:  1. C++ (Computer program language    2. C++ (Computer program language)    3. Computer Bks - Languages / Programming    4. Programming Languages - C++    5. Computers / Programming Languages / C++   


$39.32

Object-Oriented Implementation of Numerical Methods: An Introduction with Java & Smalltalk
by Didier H. Besset
Average Customer Review: 5.0 out of 5 stars
Hardcover (25 October, 2000)
list price: $67.95 -- our price: $67.95
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Didier Besset's Object-Oriented Implementation of Numerical Methods offers a wide-ranging set of objects for common numerical algorithms. Written for the math-literate Java and Smalltalk programmer, this volume demonstrates that both languages can be used to tackle common numerical calculations with ease.

This title bridges the gap between pure algorithms and object design. By tackling issues like class design, interfaces, and overcoming floating-point rounding errors in both Java and Smalltalk, the code can be used as-is or as a model for your own custom numerical classes.

The range of recipes, or sample numerical classes, all coded in both OOPLs, is rich. For anyone who's taken a few undergraduate math courses (like calculus, linear algebra, or statistics), plenty of the material will be familiar. After presenting some basic algorithm and mathematical principles, the book shows you the code that gets the job done (first in Smalltalk and then in Java). There's no room for demo code that shows how to use all this. The emphasis is on a good cross-section of common numerical calculations. The tour begins with calculus and moves through linear algebra, with plenty of material on matrices. Later sections on statistics cover familiar terms and calculations such as linear regression and calculations useful for establishing correlations between one or more independent variables. Sections on data mining examine the mathematical rules for finding patterns in large amounts of data. (There's also a nifty set of classes for implementing genetic algorithms.) Throughout, you get advice on choosing the right algorithm for the job. (There are class diagrams that map out how this class library is organized.)

Of course, it will help to know some of the underlying math to get the most out of this intelligent and wide-ranging book, but the writing is remarkably clear and the source code is a model of intelligibility, so even readers who are averse to equations will find Object-Oriented Implementation of Numerical Methods readable. In general, any competent Java or Smalltalk programmer will be able to tap into solid mathematical code by reading it, without having to reinvent the proverbial wheel. --Richard Dragan

Topics covered:

  • Introduction to numerical methods and objects in Java and Smalltalk
  • Numerical precision and rounding errors
  • Comparing floating-point numbers
  • Functions in Smalltalk and Java
  • Evaluating polynomials
  • The error, gamma, and beta functions
  • Interpolation algorithms (Lagrange, Newton, Neville, Burlirsch-Stoer, and cubic spline interpolations)
  • Choosing the right interpolation method
  • Iterative algorithms
  • Finding the zeroes of functions (the bisection method, Newton's method, roots of polynomials)
  • Integration of functions (trapeze integration method and Simpson and Romberg integration algorithms)
  • Open integrals
  • Choosing the right integration method
  • Infinite series
  • Continued fractions
  • Incomplete gamma and beta functions
  • Algorithms for linear algebra
  • Vectors and matrices
  • Linear equations (backward substitution, Gaussian elimination, LUP decomposition)
  • Matrix determinants and inversion
  • Eigenvalues and eigenvectors of nonsymmetrical and symmetrical matrices
  • Statistical moments
  • Histograms
  • Probability distributions (normal, gamma, and experimental distributions)
  • The F-test
  • The t-test
  • The chi-squared test
  • Least-fit square algorithms
  • Optimization algorithms
  • Extended Newton algorithms
  • Hill-climbing algorithms
  • Powell's algorithm
  • Simplex algorithm
  • The genetic algorithm
  • Data mining
  • Covariance
  • Multidimensional probability distribution
  • The Mahalanobis Distance
  • Cluster analysis and variance
... Read more
Reviews (6)

5-0 out of 5 stars valuable
this is an extremely useful book. loaded with lots of efficient, accurate, easy to understand code. this is the most user-friendly book on numerical algorithms that i have found.

5-0 out of 5 stars Excellent book
The author is clearly very familiar with the theory and practice of numerical computations in OO languages. For me, the main contributions of the book are an expert formulation of some of the basic numerical techniques and concepts in OO terms (a subject rarely approached in the numerous existing books on OO technology), and examples that can be followed to implement other NM techniques and concepts.

The inclusion of very readable Smalltalk and Java source code is very useful.

For use in a course, I would like to see the material complemented by exercises.

5-0 out of 5 stars Reconciling Numerical Methods and Object-Orientation
I really enjoyed this book because it shows that a high level language such as Smalltalk can efficiently model a complex domain like numerical methods. Besset presents a conceptual framework where the concepts are extended and reused, showing the power of OO programming. I also liked the structure of examples followed by a formal foundation, implementation, and implementation discussion. ... Read more

Isbn: 1558606793
Subjects:  1. Computer Bks - Languages / Programming    2. Computer Books And Software    3. Computer software    4. Computers    5. Development    6. Numerical Analysis    7. Object-Oriented Programming    8. Object-oriented programming (C    9. Object-oriented programming (Computer science)    10. Probability & Statistics - General    11. Programming - General    12. Programming - Object Oriented Programming    13. Programming Languages - Java    14. Programming Languages - Smalltalk    15. Computers / Programming / Software Development   


$67.95

Introduction to Scientific Computing: A Matrix Vector Approach Using MATLAB
by Charles F. Van Loan, Charles F. Van Loan
Average Customer Review: 1.5 out of 5 stars
Paperback (16 August, 1996)
list price: $57.00
US | Canada | United Kingdom | Germany | France
Reviews (16)

1-0 out of 5 stars The worst book
This is probably the worst book in Scientific computation. This book doesnot explain any topic in depth. It's a waste of money to buy this book.

1-0 out of 5 stars Whomever reviewed this text positively is an idealistic tool
Pavlov's dogs could have been trained to write a better textbook on Matlab computing then the author has done.In fact, I believe this book was written and produced by 1,000 monkeys instead of an esteemed Cornell professor.The examples in the book rarely work and I believe that any careful reader will realize that anyone who gives this book a positive review is a complete tool that probably has nothing better to do than to make excuses for his domestic partner's poor job at crafting such an overpriced waste of tree pulp.It seems to me that professors @ Cornell should stay out of the publishing industry because they just can't seem to get anything right.As for the positive reviewers of this text, I believe they should get some of that South African homegrown Viagra "on tap" and have "a thought-provoking and exciting" time for once in their sad sad lives.

1-0 out of 5 stars This book is an embarrrassment.
I am in the professors class and the lectures are just as incomprehensible as the book. This book uses mathematics to obscure mathematical concepts beyond recognizability. Its unfortunate that this book has wiped out any interest I might have had in numerical analysis. It is not a good reference for anything except for how to write a terrible book. Specifically, the code doesn't make sense and is often inconsistent, the explanations are scanty, typos are abundant, and any knowledge to be had is lost in the muddle. Don't bother with thisbook. ... Read more

Isbn: 0131254448
Sales Rank: 1156591
Subjects:  1. Computer Books: General    2. Computer Science    3. Computer programming    4. Computers    5. MATLAB    6. Mathematics    7. Numerical Analysis   


Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
by Scott Meyers
Average Customer Review: 4.5 out of 5 stars
Paperback (06 June, 2001)
list price: $44.99 -- our price: $34.50
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

Written for the intermediate or advanced C++ programmer, renowned C++ expert Scott Meyers provides essential techniques for getting more out of the Standard Template Library in Effective STL, a tutorial for doing more with this powerful library.

STL is a hugely powerful feature of today's C++, but one with a well-earned reputation for complexity. The book is organized into 50 tips that explore different areas of the STL. Besides providing a list of dos and don'ts, Meyers presents a lot of background on what works and what doesn't with STL. Each tip is demonstrated with in-depth coding samples, many of which make use of two-color printing to highlight the most important lines of code. (Advanced developers will enjoy Meyers's in-depth explanations, while those who are in a hurry can skip ahead to the recommended tip itself.)

A good part of this book involves using containers, like vectors and maps, which are built into STL. (Besides the standard built-in containers, the author also highlights recent additions to STL like B-trees, which are available as extensions from other vendors.) You'll learn the best ways to allocate, add, change, and delete items inside containers, including associative containers like maps. You'll also learn to avoid common pitfalls, which can result in writing code that is slow or just plain wrong.

Other areas covered in Effective STL cover getting the most out of the 100-plus STL algorithms that are bundled with this library. Meyers shows you how to choose the correct algorithm for sorting and other functions. (Even advanced developers will learn something here.) Sections on using function objects (called functors) round out the text. Meyers shows you when these classes make sense and the best ways to implement them. Besides specific tips, you'll get plenty of general programming advice. A useful appendix shows the limitations of STL as implemented in Microsoft Visual C++ 6.0 and how to overcome them.

Overall, Effective STL is a really invaluable source of programming expertise on an essential aspect of today's C++ for anyone who is using--or planning to use--STL in real production code. It is quite simply a must-have. --Richard Dragan

Topics covered:

  • Introduction to advanced Standard Template Library (STL) programming techniques
  • 50 tips and best practices for STL illustrated with sample tutorial code
  • Choosing containers
  • Efficient copying of elements inside containers
  • Removing, erasing, and cleaning up items from containers
  • Using custom allocators with STL containers
  • Thread safety with STL
  • Tips for programming with the STL vector and string classes (including reserving memory and calling legacy C/C++ code)
  • Tips for associative containers (including comparing items, sorted vectors, and non-standard enhancements to STL)
  • Tips for selecting and using STL iterator classes
  • STL algorithms (including sorting, removing, and comparing items)
  • Using functors with STL
  • General tips for STL programming (including advice for choosing algorithms and understanding compiler diagnostic messages)
  • String locales
  • Overcoming STL imitations in Microsoft Visual C++ 6.0
... Read more
Reviews (27)

5-0 out of 5 stars Solid Analysis
Four years passed when I first read this book, I still consider it a classic on the STL topic.

The best parts of this book are its analyses and reasoning although a bit verbose and rambling. You could come up all the results by yourself through several years battling industrial experience. But, if all these "effective weapons" have already been manufactured and well justified by others, why not just take it. It will save you from a lot of scars.

According to my own experience, if you really want to master STL, the following way is a solid path (luckily I'v gone through it by accident):
1. C++ template programming, or as C++ community named it "generic programming". The whole STL is built on it.
2. foundamental data structures, especially balanced tree, because all associative containers are implemented as some kinds of balanced tree (this step should be very easy to achieve by anyone).
3. practical algorithms (not only those on your college textbook) widely used in industrial background, the more the better. (If you are an aggresive reader, "Introduction to algorithms, 2nd Ed." by Thomas Cormen could satisfy your stomach. If you don't feel exhaustive, try Donald Knuth's "The Art of Computer Programming". If you are still unsatisfied, tell me your name, because honestly I want to learn something from you).
4. solid OO understanding, STL prefers it. For example, when you choose between traditional functions or functors, STL prefers functors. The same between smart pointers and raw pointers, actually iterators are sort of smart pointers (Anyway, don't get confused, the coverage of OO is much more than what are used in STL context).

After you finish all these steps, STL will become so natural to you, you won't have any surprise.

Actually I have a "Least Surprise Principle". You can use this book as a tool to gauge your proficiency on STL. When you finish your reading, if you get a lot of surprises, you really need this book. If you feel some surprises but not a lot, you are in good shape. If you feel everything in this book is so natural without any surprise, you are master already. Anyway, if you reached this level, don't forget send me a short e-mail, I will take my hat off to you.

5-0 out of 5 stars improved my code immediately
I'm a professional software engineer.I write code all day long and have lots of experience with C++, but I hadn't used STL much until recently.If you're in a similar situation--decent C++ knowledge but not an STL expert--this book is for you.I haven't even read the whole thing yet, and already I am using patterns from the book to write more effective code.

Before I started this book, I thought STL was kind of neat. It had some useful containers.It was nice to be able to use a list or map or string class that had already been tested.

Boy, was I underestimating the power of STL. This book has made me a big STL fan, but I'm not reviewing the STL now so I'll leave that topic alone... Thanks to Steve Meyers, I have a much better grasp of the capabilities and limitations of STL. I can use it to do a lot more. I write more concise code that's easier to read and debug. I make better choices about which containers to use. I recognize situations where I can use an STL algorithm instead of many lines of my own code.

In short, I look at the STL code I wrote before and laugh... I mean, it all works, but the Meyers book has taken my use of (and appreciation for) the STL to a whole new level.I recommend this book for any C++ developer who isn't already an STL expert.

5-0 out of 5 stars Good book for experienced stl user
Frankly this is not a beginner's book. You need some deep knowledge of c++ templates and working knowledge of stl to make the best out of this book.
Aside from introducing some caveats in STL programming, the main achievement of this book is to introduce the more descent part of STL which is less commonly used.

If you only use STL in the same way you use traditional data structure interfaces, this is the book for you. ... Read more

Isbn: 0201749629
Subjects:  1. C++ (Computer program language    2. C++ (Computer program language)    3. Computer Bks - Languages / Programming    4. Computer Books: General    5. Computer Programming Languages    6. Computers    7. Programming - General    8. Programming Languages - C++    9. Standard template library    10. Computers / Programming Languages / C++   


$34.50

Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition)
by Scott Meyers
Average Customer Review: 5.0 out of 5 stars
Paperback (02 September, 1997)
list price: $39.95 -- our price: $34.98
(price subject to change: see help)
US | Canada | United Kingdom | Germany | France

Editorial Review

This exceptionally useful text offers Scott Myers's expertise in C++ class design and programming tips. The second edition incorporates recent advances to C++ included in the ISO standard, including namespaces and built-in template classes, and is required reading for any working C++ developer.

The book opens with some hints for porting code from C to C++ and then moves on to the proper use of the new and delete operators in C++ for more robust memory management. The text then proceeds to class design, including the proper use of constructors, destructors, and overloaded operator functions for assignment within classes. (These guidelines ensure that you will create custom C++ classes that are fully functional data types, which can be copied and assigned just like built-in C++ classes.)

The author also provides a handful of suggestions for general class design, including strategies for using different types of inheritance and encapsulation. Never doctrinaire and always intelligent, these guidelines can make your C++ classes more robust and easier to maintain. --Richard Dragan ... Read more

Reviews (99)

5-0 out of 5 stars Thank you Mr. Meyers!
Recently, I decided to make my programming language of choice to be C++ (although I use VB, C#, C++ and occasionally java).
I bought Effective C++ Third Edition & Effective STL (both by Mr. Meyers). The author knows all that he is talking about and he is generous enough to clarify things like a personal tutor. In short, I always wish that I had a chance to read these books some yesrs ago. I think I have aquired something which helps me build good programs and build my professional confidence in what I do.

5-0 out of 5 stars Third Edition: Improving an already great book
How do you improve a book that has been known as a "bible" in the C++ community for years?As Scott mentions at the beginning of the text, he almost threw everything out, and started from scratch.When I first say the book, I thought that there are five new items that were added to the book, but I couldn't be more wrong.As you might have guessed, C++ has gone thru a number of significant changes over the past decade, and the third edition of this book is updated to take advantage of the new editions to the C++ standard.In reality, almost every item in this book has gone thru a re-write.Many have been consolidated and new chapters, topics and many new items have been added.A few items that did not make sense anymore like items 2, 3 and 4 in the second edition are removed from this third edition.

Scott breaks down the c++ language into 4 subparts:
*The old C subsystem.Before all these advanced programming languages such as Java and .NET came, C was the language of choice. C++ is "translated" to C first, and then complied and linked to an executable.
*OO C++, which is C with Classes.This is where the concept of Object Orientation in C++ started.Even though this concept was very much new a decade ago, it is very much part of a programmer's vocabulary.
*Template C++, which is the newest edition to the C++ standard and it brings with it the concept of Template Metaprogramming.This concept is very much new, and this book has dedicated a whole chapter around templates, and template metaprogramming.
*STL, which is the C++ Standard Template Library.Again, STL was a new concept a few years back, but it is very much an established notion in C++.

Scott has taken a new approach to this book and has covered all four of these subparts.He has a book dedicated to STL, but he is using STL notions and "language" throughout this book.The chances are that the reader is already familiar with other languages such as Java and .Net, so the text covers area where these two languages differ with C++, especially in the area of inheritance and polymorphism.But not everything has changed.Topics such as,"Explicitly disallow the use of Compiler Generated functions you do not want," will never get old or outdated.

New chapters cover topics such as C++ Template and Generic Programming, Resource Allocation and topics that cover the latest C++ standard and additions, including the TR1 (Technical Report 1)."new and delete" have been separated into their own chapter, and the author goes into great depth demonstrating to the reader the various ways that these two operators can be modified, and why.

Exceptions and programming in light of exceptions is also a very new concept in C++.The previous versions on this text did not touch on exceptions all that much, but the author has spread the use of exceptions throughout the text, with a number of items dedicated explicitly to exceptions and exceptions handling.

The updated items, new topics and chapters and a new look and feel of the text with color coded examples make this book a joy to for C++ programmer to read.



4-0 out of 5 stars easy to implement
[A review of the 3rd EDITION 2005].

This seems to be for a C++ programmer who has moved beyond mastery of the basic syntax. Ok, you can implement a set of interrelated classes and get everything compiled and run. But, and you're aware of this, there may be refinements in coding that elude you. So Meyers offers a cookbook of 55 improvements. I'd agree with the cover's claim that these recipes are indeed specific enough to be useful. Take the suggestion about deferring variable definitions as long as possible. This minimises the chance of creating unused variables, which has an attendant cost in computing and memory, if the compiler is not smart enough to omit them. Plus, there is a cost in harder coding and debugging, if the definition of a variable is many screens before its first usage. Such a contrast with earlier languages like C or Fortran, where you have to define all the variables upon entry to a subroutine. This example also shows an unheralded merit of the book. A bunch of recipes are also germane in other OO languages like Java.

The only gripe I have is with the suggestion of declaring data variables private. I certainly agree with it. But this is one of the first things you learn in any introductory text on an OO language. It really seems unnecessary here, unless the author is just padding out the book. ... Read more

Isbn: 0201924889
Subjects:  1. C (Programming Language)    2. C++ (Computer program language    3. C++ (Computer program language)    4. Computer Bks - Languages / Programming    5. Computer Books: General    6. Computers    7. Programming Languages - C    8. Programming Languages - C++    9. Computers / Programming Languages / C++   


$34.98