Scott Meyers

Articles and Interviews

This page summarizes Scott's technical or technically-related publications and interviews in magazines, journals, web sites, technical anthologies, etc. It also includes his doctoral dissertation. It does not include information on books or book-like publications, because those are described on his Books & CDs page.

To be notified whenever Scott comes out with a new publication, subscribe to Scott's Professional Activities Blog.

[Video Interview] Scott Meyers Interview, code::dive, November 2014.

[Video Interview] Scott Meyers Interview, Yandex, June 2014. English translation of the questions that were asked in the video (in PDF) are available here.

[Interview] Scott Meyers Interview, Hello World Podcast, April 2014.

"Universal References in C++11." Available in multiple formats as follows:

"Appearing and Disappearing consts in C++," C++Next, April 1, 2011.

[Audio Interview] C++0x, Software Engineering Radio, April 2010.

The Fastware Project, Blog about work on Fastware!, November 2008 – July 2010.

"Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly," 97 Things Every Programmer Should Know, September 2009. This is a condensed version of my 2004 IEEE Software article.

"Enforcing Code Feature Requirements in C++," The C++ Source, September 23, 2008.

[Video Interview] "A Unique Perspective on C++," filmed in March 2007, posted in August/September 2007:

[Interview] Die Zukunft von C++ (The Future of C++), September 2006. A conversation with iX magazine. Available in two versions:

"A Pause to Reflect: Five Lists of Five," a series at The C++ Source:

An annotated draft of an abandoned would-be article, "The Resource Return Problem," September 2005. Examines various C++ options for return types of factory functions.

[Interview] A Virtual Interview with Scott Meyers, July 2005. Scott answers five questions from each of two winners of a contest at Bookpool held upon the publication of Effective C++, Third Edition.

[Interview] Looking at Effective C++, July 2005. An interview with LinuxPlanet upon publication of Effective C++, Third Edition.

[Interview] The evolution of C++ gives application developers an edge, June 2005. A brief interview with TechRepublic upon publication of Effective C++, Third Edition.

"Use Traits Classes for Information About Types," May 2005. This is Item 47 of Effective C++, Third Edition, made available on the web as an example of what's in the book.

"Never Call Virtual Functions during Construction or Destruction," The C++ Source, May 2005. This is Item 9 of Effective C++, Third Edition, made available on the web as an example of what's in the book. (It's also available in PDF.)

"Minimize Casting," May 2005. This is Item 27 Effective C++, Third Edition, made available on the web as an example of what's in the book.

"C++ and the Perils of Double-Checked Locking" (with Andrei Alexandrescu), Dr. Dobb's Journal, July (Part I) and August (Part II) 2004. Available in PDF in two versions:

"The Most Important Design Guideline?," IEEE Software, July/August 2004.

Advice for Prospective Book Authors, December 2003 (with occasional updates since). Scott's insights and advice for people thinking about writing a technical book.

[Interview] A Conversation with Scott Meyers, December 2002. Conducted by Bill Venners of Artima.

"Class Template, Member Template — or Both?," C/C++ Users Journal, November 2002.

"Distinguishing STL Search Algorithms," C/C++ Users Journal, December 2001. Based on Item 45 of Effective STL.

"STL Algorithms vs. Hand-Written Loops," C/C++ Users Journal, October 2001. Based on Item 43 of Effective STL.

"Three Guidelines for Effective Iterator Usage," C/C++ Users Journal, June 2001. Based on Items 26-28 of Effective STL.

"How Non-Member Functions Improve Encapsulation," C/C++ Users Journal, February 2000.

"Browsing Innovations for Books on CD-ROM," Microsoft Internet Developer, October 1999.

"Implementing operator->* for Smart Pointers," Dr. Dobb's Journal, October 1999.

"Document Design for Effective Electronic Publication" (with Jason Jones), Proceedings of the 5th Conference on Human Factors & the Web, June 1999.

"Counting Objects in C++," C/C++ Users Journal, April 1998. (There's also a translation into Chinese, thanks to leasun.)

"A First Look at C++ Program Analyzers" (with Martin Klaus), Dr. Dobb's Journal, February 1997.

"Refinements to smart pointers," C++ Report, November-December 1996.

"Combining C++ and C in the Same Program," C/C++ Users Journal, October 1996. Based on material in More Effective C++.

"Smart pointers: automating inheritance and const conversions," C++ Report, September 1996. Based on material in More Effective C++.

"Smart pointers, nullness, and type conversions," C++ Report, June 1996. Based on material in More Effective C++.

"Smart pointers, Part 1," C++ Report, April 1996. Based on material in More Effective C++.

"Interface types revisited (and more)," C++ Report, February 1996. Based in part on material in More Effective C++.

"The little endl that couldn't," C++ Report, November-December 1995.

"How to Navigate the Treacherous Waters of C++ Exception Handling," Microsoft Systems Journal, November 1995. Based on material in a pre-publication draft of More Effective C++.

"Signed and unsigned types in interfaces," C++ Report, September 1995.

"Mastering User-defined Conversion Functions," C/C++ Users Journal, August 1995. Based on material in a pre-publication draft of More Effective C++.

"Bounding object instantiations," C++ Report, March-April (part 1) and June (part 2) 1995. Based on material in a pre-publication draft of More Effective C++.

"min, max, and more," C++ Report, January 1995.

"Constraining the Structure and Style of Object-Oriented Programs" (with Carolyn K. Duby and Steven P. Reiss), in Principles and Practice of Constraint Programming, MIT Press, 1995. The work described here was originally presented at the First Workshop on Principles and Practice of Constraint Programming, April 1993.

"operator=: The readers fight back," C++ Report, November-December 1994.

"Code reuse, concrete classes, and inheritance," C++ Report, July-August 1994.

"Our friend, the assignment operator," C++ Report, May 1994.

"More on templates and parameters," C++ Report, February 1994.

"Efficiency and the real world," C++ Report, November-December 1993.

"On templates and parameters," C++ Report, September 1993.

"Facilitating Software Maintenance by Automated Detection of Constraint Violations" (with Anir Chowdhury), Proceedings of the 1993 Conference on Software Maintenance, September 1993.

Representing Software Systems in Multiple-View Development Environments. Doctoral dissertation, Brown University Department of Computer Science, May 1993.

CCEL: The C++ Constraint Expression Language (with Yueh-hong Lin), Brown University Computer Science Department, Technical Report CS-93-23, May 1993.

"Guidelines for efficiency," C++ Report, April 1993. Based on material in the first edition of Effective C++.

"Constraining the Structure and Style of Object-Oriented Programs" (with Carolyn K. Duby and Steven P. Reiss), Proceedings of the First Workshop on Principles and Practice of Constraint Programming (PPCP93), April 1993. Reprinted in Principles and Practice of Constraint Programming, MIT Press, 1995.

"Examining Development tools," C++ Report, October 1992 (part 1) and January 1993 (part 2). Later reprinted (with modest updates) in Black Belt C++: The Masters Collection, edited by Bruce Eckel, M&T Books, 1994.

"An Empirical Study of Multiple-View Software Development" (with Steven P. Reiss), Proceedings of the Fifth Symposium on Software Development Environments (ACM SIGSOFT ‘92), December 1992.

"CCEL: A Metalanguage for C++" (with Carolyn K. Duby and Steven P. Reiss), Proceedings of the 1992 USENIX C++ Conference, August 1992.

"Approaches to Effectiveness," C++ Report, July-August 1992.

"Support for Maintaining Object-Oriented Programs" (with Moises Lejter and Steven P. Reiss), IEEE Transactions on Software Engineering, December 1992. An earlier version of this paper appeared in Proceedings of the 1991 Conference on Software Maintenance (CSM-91), October 1991.

"A System for Multiparadigm Development of Software Systems" (with Steven P. Reiss), Proceedings of the Sixth International Workshop on Software Specification and Design (IWSSD-6), October 1991.

"Automatic Detection of Programming Errors: Initial Thoughts on a lint++" (with Moises Lejter), Proceedings of the 1991 USENIX C++ Conference, April 1991.

"Difficulties in Integrating Multiview Development Systems," IEEE Software, January 1991. This paper was nominated for the IEEE Software Best Article of the Year Award.

"Adding Semantic Information to C++ Development Environments" (with Moises Lejter and Steven P. Reiss), Proceedings of C++ at Work – ‘90, September 1990.

"Working with Object-Oriented Programs: The View from the Trenches is Not Always Pretty," Proceedings of the Symposium on Object-Oriented Programming emphasizing Practical Applications (SOOPPA), September 1990.

"FIELD Support for C++" (with Steven P. Reiss), Proceedings of the 1990 USENIX C++ Conference, April 1990.

"Using GELO to Visualize Software Systems" (with Steven P. Reiss and Carolyn Duby), Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology (UIST ‘89), November 1989.

"Representing Programs in Multiparadigm Software Development Environments" (with Steven P. Reiss), Proceedings of the Computer Software and Applications Conference (COMPSAC ‘89), September 1989.

Creating Graphical Languages in Garden (with Steven P. Reiss), Brown University Computer Science Department, Technical Report CS-89-02, January 1989.

Annotating Software With Arbitrary Performance Characteristics, Brown University Computer Science Department, Technical Report CS-89-01, January 1989.

"A Semantic Basis for Multiple Views of Programs" (with Steven P. Reiss), Advance Working Papers of the Second International Workshop on Computer-Aided Software Engineering (CASE ‘88), July 1988.

"DAMON: A Powerful Monitor for Design Automation Software" (with David R. Coelho), Proceedings of the 4th International Conference on Custom & Semi-Custom ICs, November 1984.

"Knowledge-Based Simulation of Genetic Regulation in Bacteriophage Lambda" (with Peter Friedland), Nucleic Acids Research, January 1984.

A Simulator for Regulatory Genetics and Its Application to Bacteriophage Lambda, Stanford University Heuristic Programming Project, Technical Report HPP-83-12, 1983.