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 an author of several books on C++ and was a columnist for Dr. Dobb's Journal.

Contents

Education and career

Sutter was born and raised in Oakville, Ontario, and studied computer science at Canada's University of Waterloo. [1] [ third-party source needed ]

From 1995 to 2001 he was chief technology officer at PeerDirect where he designed the PeerDirect database replication engine. [1] [ third-party source needed ]

He joined Microsoft in 2002 [2] as a platform evangelist for Visual C++ .NET,[ citation needed ] rising to lead software architect for C++/CLI. [3] [4] In recent years Sutter was lead designer for C++/CX and C++ AMP. [4]

Sutter has served as the chair of the ISO C++ standards committee since 2002. [5] [3] [4]

In 2005, Sutter published an article titled "The Free Lunch Is Over" [6] that claimed that microprocessor serial-processing speed was reaching a physical limit leading to two main consequences:

The article is seen as highly influential in subsequent system design. [7] [8] [3]

Bibliography

Related Research Articles

<span class="mw-page-title-main">Ada (programming language)</span> High-level programming language first released in 1980

Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, inspired by 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 May 2023, the standard, called Ada 2022 informally, is ISO/IEC 8652:2023.

<span class="mw-page-title-main">Bjarne Stroustrup</span> Danish computer scientist, creator of C++ (born 1950)

Bjarne Stroustrup is a Danish computer scientist, most notable for the invention and development of the C++ programming language. Stroustrup served as a visiting professor of computer science at Columbia University beginning in 2014, where he has been a full professor since 2022.

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.

<span class="mw-page-title-main">Thread (computing)</span> Smallest sequence of programmed instructions that can be managed independently by a scheduler

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. In many cases, a thread is a component of a process.

<span class="mw-page-title-main">Anders Hejlsberg</span> Danish software engineer (born 1960)

Anders Hejlsberg is a Danish software engineer who co-designed several programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

<span class="mw-page-title-main">C++</span> General-purpose programming language

C++ is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programming language, it has since expanded significantly over time; as of 1997, C++ has object-oriented, generic, and functional features, in addition to facilities for low-level memory manipulation for making things like microcomputers or to make operating systems like Linux or Windows. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM.

<span class="mw-page-title-main">Andrei Alexandrescu</span> Romanian-American computer programmer

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

The Standard Template Library (STL) is a software library originally designed by Alexander Stepanov 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.

In software engineering, software configuration management is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. If something goes wrong, SCM can determine the "what, when, why and who" of the change. If a configuration is working well, SCM can determine how to replicate it across many hosts.

<span class="mw-page-title-main">Scott Meyers</span> 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.

Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It contains 164 individual libraries.

<span class="mw-page-title-main">Ivar Jacobson</span>

Ivar Hjalmar Jacobson is a Swedish computer scientist and software engineer, known as a major contributor to UML, Objectory, Rational Unified Process (RUP), aspect-oriented software development and Essence.

A DOS extender is a computer software program running under DOS that enables software to run in a protected mode environment even though the host operating system is only capable of operating in real mode.

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", though he is not its inventor. He served as the Project Editor of the ISO/ANSI standards committee for C++, and has authored over 150 papers on C++.

In C++ computer programming, copy elision refers to a compiler optimization technique that eliminates unnecessary copying of objects.

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.

The following outline is provided as an overview of and topical guide to C++:

Karl E. Wiegers is an American software engineer, consultant, and trainer in the areas of software development, management, and process improvement. He is the author of numerous books and articles mainly focused on software requirements, project management, process improvement, quality, design, and consulting. He is also the author of a forensic mystery novel titled The Reconstruction and a memoir of life lessons titled Pearls from Sand: How Small Encounters Lead to Powerful Lessons.

References

  1. 1 2 "WG21 (ISO C++ Committee) Members". isocpp.org.
  2. Redmond, Wash (March 13, 2002). "ISO/ANSI C++ Standards Committee Secretary Herb Sutter Joins Microsoft's Developer Division". news.microsoft.com. Retrieved 4 April 2024.
  3. 1 2 3 Redlich, Michael. "QCon New York 2023: Day Three Recap". InfoQ. Retrieved 12 September 2023.
  4. 1 2 3 Heller, Martin (November 14, 2022). "Beyond C++: The promise of Rust, Carbon, and Cppfront". InfoWorld. Retrieved 12 September 2023.
  5. Clarke, Gavin (October 11, 2011). "Sutter: C++11 kicks old-school coding into 21st century" . Retrieved 14 September 2023.
  6. Sutter, H. (2005). "The free lunch is over: A fundamental turn toward concurrency in software". Dr. Dobb's Journal. Vol. 30, no. 3.
  7. Miller, Paul (June 23, 2016). "Why would you want a 1,000 core processor?". The Verge. Retrieved 12 September 2023. Are you familiar with the highly influential piece for programmers by Herb Sutter called "The Free Lunch Is Over"?
  8. Schirrmeister, Frank (26 September 2019). "Toward A Lingua Franca For Intelligent System Design". Semiconductor Engineering. Retrieved 12 September 2023.