David Abrahams (computer programmer)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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 metaprogramming.

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 to provide reusable C++ libraries. Abrahams has written several of the libraries and assisted in the development of others. As of 2012, he still actively contributes to the group. Abrahams was also the founder and principal member of Boost Consulting (later BoostPro Computing), a company that offered software development and training courses for 12 years (2001–2013) with a heavy bias to use the Boost libraries.

In 2013 Abrahams became an employee at Apple Inc, where he is involved in the development of the Swift programming language.[1]


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


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


  1. ^ Swift is an awesome new language, June 06, 2014, Ilovacha
  • Stroustrup, Bjarne (2000). "Standard-Library Exception Safety" (PDF). AT&T Labs Research., a reprint of Appendix E of Bjarne Stroustrup's The C++ Programming Language, Special Edition treating exception safety in C++
  • David Abrahams, Aleksey Gurtovoy (2004). C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley. ISBN 0-321-22725-5.

External links[edit]