|
Boost : |
Subject: [boost] "Software Development using the C++ Boost Library", book in preparatiion
From: Daniel J. Duffy (dduffy_at_[hidden])
Date: 2010-02-15 00:55:50
Hello,
We would like to announce news on our new book in preparation that is based on the Boost library. Below is a description of what the book is about and its focus. We discuss several applications such as computational finance, simulation, maths, engineering as well as examples for a wider audience.
The book is pitched at intermediate level and upwards.
We would be very interested in receiving feedback from Boost authors (and those who are workinng with the library) concerning the chapters in the book, especially the extensive functionality in the library and possibly examples from areas not discussed above.
best regards and thank you!
Daniel J. Duffy
Robert Demming
//
Book Proposal "Software Development using the C++ Boost Library"
Daniel J. Duffy (dduffy_at_[hidden]), Robert Demming
Datasim Education BV
February 2010
Publisher: Datasim Press Ltd.
Web site: http://www.datasimfinancial.com/ <http://www.datasimfinancial.com/>
What is this book?
This book introduces and elaborates the C++ boost library and applies it to creating code and applications for a range of domains such as engineering, computational finance, mathematical physics and other exact disciplines.
We have written the book in such a way that the learning process is as seamless as possible; first, for each library we introduces its main features by discussing its syntax and by giving '101' examples to show to use it as quickly as possible. Second, we introduce some of the more advanced features in each library with a view to using and customizing them to suit application needs. Finally, we create small and medium-sized applications and test cases by integrating several libraries to show the usefulness and applicability of boost to support complex software systems.
The book is structured into seven major categories, each one of which dealing one particular aspect of software development and its applications.
For whom is this Book?
We have tried to write the book in such a way that it is accessible to as wide a group of developers as possible (an impossible task!) by the appropriate use of examples at each level of developer expertise and test cases that are of direct relevance in a number of application areas. We assume that the reader has several years of experience of object-oriented and template programming in C++.
Application Development using Boost
Regarding the test cases and applications we try to model them in such a way that the reader understand the problem and design intent before we discuss the actual coding. To this end, we consider the use of UML class and component diagrams (in the appropriate dosage!) to be essential. In one sense, "UML is C++ in pictures".
Some applications that we discuss in the book are:
Using Lambda to simplify use of STL algorithms
Using Signals to implement, MVC, Observer and PAC patterns (GOF, POSA)
Using Bind and Function to semi-discretise partial differential equations (PDE)
Random for Monte Carlo simulation, numerical integration and option pricing
Any and data-independent parameter passing between modules
Interval arithmetic and explicit modelling of numerical imprecision
Various text-processing applications
Compile-time arrays and matrices using Array
Using multi_array to model n-dimensional PDEs
uBLAS as data structures for numerical algebra
Statistical functions and their applications
Accumulators and time series applications
Using Flyweight as default in applications
Multi-threaded scientific applications
Network programming and Asio
Mapping GOF patterns to boost (i.e. using boost to implement design blueprints)
///
Categories of Libraries
1. Higher Order Functions
Function
Bind
Lambda
Signals/Signals2
2. Data Types
Any
Integer
Interval
Parameter
Rational
Smart Pointer
Tribool
Tuple
Variant
3. Text and String Processing
Regex
String Algo
Tokenizer
Xpressive
4. Data Structures and Searching
Array
Date Time
Graph
Multi-Array
Multi-Index
5. Mathematics and Statistics
Accumulators
Math Common Factor
Math/Special Functions
Math/Statistical Distributions
Random
uBLAS
6. Utilities and other Libraries
Conversion
Dynamic Bitset
Filesystem
Flyweight
Lexical Cast
Numeric Conversion
Program Options
Test
7. Multithreading and Networking
Asio
Statechart
Thread
Timer
Yours sincerely and thank you
Daniel Duffy, PhD
Ing. Robert Demming
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk