David Abrahams (computer programmer)

From Wikipedia, the free encyclopedia

David Abrahams is a computer programmer and author. He is most well-known for his activities related to the C++ programming language. In particular his contributions to the language include the delineating of a theory of exceptions, sitting on the C++ Standards Committee, being a founding member of Boost and co-authoring a book on the subject of template meta-programming.

Abrahams became a member of the C++ Standards Committee in 1996. During the standardization process that resulted in the first ANSI standard C++ - in 1998 - Abrahams was a principal driving force behind detailing the exception safety of the C++ Standard Library. Many of the functions and methods of the standard are specified with one of three guarantees. Together these have become known as the Abrahams guarantees.

Following the standardization, Abrahams became one of the founding members of boost.org, a community group founded in order to provide reusable C++ libraries. Abrahams has written several of the libraries and assisted in the development of others. As of 2007, he still actively contributes to the group. Abrahams is also the principal member of Boost Consulting, a company that offers software development and training courses with a heavy bias towards using the Boost C++ Libraries.

Contents

[edit] Books

In 2004, Abrahams co-authored C++ Template Metaprogramming with Aleksey Gurtovoy. In concert with Boost's Metaprogramming Library, the book broke new ground in the practical use of template metaprogamming, including a re-implementation of much of the Standard Template Library in a compile-time world, with all operations on types.

[edit] Presentations

  • In 2003, Abrahams presented at the ACCU Conference, presenting Binding C++ to Python with the Boost Python Library.
  • In 2005, Abrahams presented at the ACCU Conference, presenting C++ Template Metaprogramming and Rvalue References, Move Semantics, and Argument Forwarding.

[edit] References

[edit] External links