Herb Sutter

Last updated
Herb Sutter in 2009 Professional Developers Conference 2009 Technical Leaders Panel 7.jpg
Herb Sutter in 2009

Herb Sutter is a prominent C++ expert. He is also a book author and was a columnist for Dr. Dobb's Journal. He joined Microsoft in 2002 as a platform evangelist for Visual C++ .NET, rising to lead software architect for C++/CLI. [1] Sutter has served as secretary and convener of the ISO C++ standards committee for over 10 years. In September 2008 he was replaced by P. J. Plauger. He then re-assumed the convener position, [2] after Plauger resigned in October 2009. [3] [4] In recent years Sutter was lead designer for C++/CX and C++ AMP. [5]


Education and career

Sutter was born and raised in Oakville, Ontario, before studying computer science at Canada's University of Waterloo. [6]

From 1995 to 2001 he was chief technology officer at PeerDirect where he designed the PeerDirect database replication engine. [6]

Guru of the Week

From 1997 to 2003, Sutter regularly created C++ programming problems and posted them on the Usenet newsgroup comp.lang.c++.moderated, under the title Guru of the Week. The problems generally addressed common misconceptions or poorly understood concepts in C++. Sutter later published expanded versions of many of the problems in his first two books, Exceptional C++ and More Exceptional C++. New articles, mostly related to C++11, were published since November 2011. [7]

The Free Lunch Is Over

"The Free Lunch Is Over" is an article [8] from Herb Sutter published in 2005. It stated that microprocessor serial-processing speed is reaching a physical limit, which leads to two main consequences:


Related Research Articles

Ada (programming language) High-level programming language first released in 1980

Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages. It has built-in language support for design by contract (DbC), extremely strong typing, explicit concurrency, tasks, synchronous message passing, protected objects, and non-determinism. Ada improves code safety and maintainability by using the compiler to find errors in favor of runtime errors. Ada is an international technical standard, jointly defined by the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC). As of 2020, the standard, called Ada 2012 informally, is ISO/IEC 8652:2012.

C++ General-purpose programming language

C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Oracle, and IBM, so it is available on many platforms.

Hugh Darwen English academic and writer about computers

Hugh Darwen is a computer scientist who was an employee of IBM United Kingdom from 1967 to 2004, and has been involved in the development of the relational model.

Andrei Alexandrescu

Andrei Alexandrescu is a Romanian-American C++ and D language programmer and author. He is particularly known for his pioneering work on policy-based design implemented via template metaprogramming. These ideas are articulated in his book Modern C++ Design and were first implemented in his programming library, Loki. He also implemented the "move constructors" concept in his MOJO library. He contributed to the C/C++ Users Journal under the byline "Generic<Programming>". Alexandrescu worked as a research scientist at Facebook, before departing the company in August 2015 in order to focus on developing the D programming language.

The Standard Template Library (STL) is a software library for the C++ programming language that influenced many parts of the C++ Standard Library. It provides four components called algorithms, containers, functions, and iterators.

In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Scott Meyers American computer programmer

Scott Douglas Meyers is an American author and software consultant, specializing in the C++ computer programming language. He is known for his Effective C++ book series. During his career, he was a frequent speaker at conferences and trade shows.

Grady Booch American software engineer

Grady Booch is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments.

Phillip JamesPlauger is an author, entrepreneur and computer programmer. He has written and co-written articles and books about programming style, software tools, and the C programming language, as well as works of science fiction.

Robert C. Seacord American computer security expert

Robert C. Seacord is an American computer security specialist and writer. He is the author of books on computer security, legacy system modernization, and component-based software engineering.

The C++ programming language has support for string handling, mostly implemented in its standard library. The language standard specifies several string types, some inherited from C, some designed to make use of the language's features, such as classes and RAII. The most-used of these is std::string.

Andrew Richard Koenig is a former AT&T and Bell Labs researcher and programmer. He is the author of C Traps and Pitfalls and co-author of Accelerated C++ and Ruminations on C++, and his name is associated with argument-dependent name lookup, also known as "Koenig lookup". He served as the Project Editor of the ISO/ANSI standards committee for C++, has authored over 150 papers on C++, and is listed as inventor on four patents.

In C++ computer programming, allocators are a component of the C++ Standard Library. The standard library provides several data structures, such as list and set, commonly referred to as containers. A common trait among these containers is their ability to change size during the execution of the program. To achieve this, some form of dynamic memory allocation is usually required. Allocators handle all the requests for allocation and deallocation of memory for a given container. The C++ Standard Library provides general-purpose allocators that are used by default, however, custom allocators may also be supplied by the programmer.

In the C++ programming language, decltype is a keyword used to query the type of an expression. Introduced in C++11, its primary intended use is in generic programming, where it is often difficult, or even impossible, to express types that depend on template parameters.

Donald Firesmith

Donald G. Firesmith is an American software engineer, consultant, and trainer at the Software Engineering Institute.

In C++ computer programming, copy elision refers to a compiler optimization technique that eliminates unnecessary copying of objects. The C++ language standard generally allows implementations to perform any optimization, provided the resulting program's observable behavior is the same as if, i.e. pretending, the program were executed exactly as mandated by the standard.

The Edison Design Group (EDG) is a company that makes compiler front ends for C++, Java, and Fortran. Their front ends are widely used in commercially available compilers and code analysis tools. Users include the Intel C++ compiler, Microsoft Visual C++ (IntelliSense), NVIDIA CUDA Compiler, SGI MIPSpro, The Portland Group, and Comeau C++. They are widely known for having the first, and likely only, front end to implement the now-deprecated export keyword of C++.

<i>Advanced Programming in the Unix Environment</i>

Advanced Programming in the Unix Environment is a computer programming book by W. Richard Stevens describing the application programming interface of the UNIX family of operating systems. The book illustrates UNIX application programming in the C programming language.

The Dr. Dobb's Excellence in Programming Award was an annual prize given to individuals who, in the opinion of the editors of Dr. Dobb's Journal, "made significant contributions to the advancement of software development." The Excellence in Programming Award includes a $1,000 prize that was donated in the award winner's name to a charity of the winner's choice. The award was launched in 1995 in the print edition of Dr. Dobb's Journal and was given each year until 2009. In his March 1995 article introducing the awards, then editor-in-chief Jonathan Erickson wrote that the award was intended to recognize "achievement and excellence in the field of computer programming." Erickson explained that the winners were "selected by a special editorial committee" of the magazine. Because Dr. Dobb's serves an audience of software developers, the Excellence in Programming Award is specifically intended to recognize resources for programmers: languages, code libraries, tutorial books, and so on. Developers of shrinkwrap software intended for retail sale, custom software for corporate use, embedded software, or general-purpose applications were not considered for the award.

C++23 is the informal name for the revision of the ISO/IEC standard for the C++ programming language expected to follow C++20. The current draft is N4868.


  1. Sutter, Herb (2004-04-01). "Trip Report: October–December 2003". Dr. Dobb's Journal . Retrieved 2009-05-21.
  2. Herb Sutter (2010-03-03). "Where can you get the ISO C++ standard, and what does "open standard" mean?". Sutter's Mill. Retrieved 2011-10-16.
  3. Stefanus Du Toit (2009-12-04). Minutes of WG21 Meeting, October 19, 2009 (PDF). Open Standards (Report). pp. 10, 20–21. Retrieved 2010-04-10.
  4. George Ryan; Ville Voutilainen; Francis Glassborow; Steve Clamage (2009-10-25). "Plauger resigned as convener?". comp.std.c++ (Mailing list). Retrieved 22 May 2020.
  5. "About" . Retrieved 2012-10-30.
  6. 1 2 "WG21 (ISO C++ Committee) Members". isocpp.org.
  7. GotW category of the Sutter's blog
  8. Sutter, H. (2005). "The free lunch is over: A fundamental turn toward concurrency in software". Dr. Dobb's Journal. Vol. 30 no. 3.