David Abrahams (computer programmer)

David Abrahams is a computer programmer and admin. He is the son of physicist Elihu Abrahams and choreographer Geulah Abrahams. 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 and served until 2012. 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. 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, and founder of BoostCon, now C++ Now, the annual conference in Aspen, CO.

In 2013, Abrahams became an employee at Apple Inc, where he worked on the development of the Swift programming language and became the lead of the Swift standard library. In 2017 he joined the SwiftUI project. In January 2020 Abrahams joined Google Brain to work on the Swift for TensorFlow project. In June 2021 Sean Parent announced that Abrahams had joined Adobe Inc. and together they were relaunching the Software Technology Lab.

Publications
In 2003 his paper from the 1998 International Seminar on Generic Programming at Dagstuhl "Exception-Safety in Generic Components" was published in Lecture Notes in Computer Science.

In 2004, Abrahams co-authored C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond 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.

Significant Presentations

 * 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.
 * Protocol-Oriented Programming in Swift from Apple's WWDC 2015.
 * Embracing Algorithms from Apple's WWDC 2018.
 * Building Custom Views in SwiftUI from Apple's WWDC 2019.