Here is a reasonably complete list of my publications in reverse chronological order.
Should you know of translations, interview, etc., that I have missed, please
email me the reference (Bjarne at Stroustrup dot com).
In addition to traditional papers, I have:
Interviews.
Many of those interviews are written and extensive;
many are published in magazines or as book chapters.
I used to list those as publications, but maintaining two entries for each
and deciding which were "publications quality" became tedious.
Books
(including reviews, sample chapters, errata, and other supporting information).
Each book is also listed in its proper chronological spot in this list.
I have a collection of covers.
Technical reports
that I have authored or co-authored for the ISO C++ standards committee.
B. Stroustrup:
A Tour of C++ (Second Edition).
ISBN 978-0134997834.
Addison-Wesley.
July 2018.
Korean translation. AcornPub.co.kr. ISBN 978-89-6077-566-4.
Bjarne Stroustrup:
A Tour of C++.
Addison Wesley. ISBN 978-0321958310.
September 2013.
Available as eBook and on paper from the publisher
.
Italian translation. Pearson Italia. ISBN 9799965-184493. 2014.
German translation. Hanser Fachbuch. 9783446-439627. 2015.
Chinese translation (simplified). China Machine Press. ISBN 9-787111-498124. 2015.
Japanese translation. SBCreative. ISBN 1920055022002.
Bjarne Stroustrup:
The C++ Programming Language (4th Edition).
Addison-Wesley. ISBN 978-0321563842.
May 2013.
.
German Translation. Hanser Fachbuch. 2015. ISBN 978-3-446-43981-8.
Japanese translation. SB Creative. 2015.
Korean translation. AcornPub. ISBN 978-89-6077-2.
Italian translation.
Polish translation.
Chinese translation.
Andrew Sutton and Bjarne Stroustrup:
Design of Concept Libraries for C++.
Proc. SLE 2011 (International Conference on Software Language Engineering). July 2011.
Given the ACM SIGPLAN Most Influential Paper Award in 2021.
Peter Pierkelbauer, Damian Dechev, and Bjarne Stroustrup:
Source Code Rejuvenation is not Refactoring.
SofSem 2010. 36th international conference on current trends in theory and practice of Computer Science.
January 2010.
Bjarne Stroustrup:
What is C++0x?.
CVu.
Vol 21, Issues 4 and 5.
2009.
Bjarne Stroustrup:
The C++0x "Remove Concepts" Decision.
Dr.Dobb's Journal.
July 2009.
Republished with permission in Overload Journal, Vol 92. August 2009.
Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup:
Design and Evaluation of C++ Open Multi-Methods.
In Science of Computer Programming (2009).
Elsevier Journal.
June 2009.
doi:10.1016/j.scico.2009.06.002.
Peter Pirkelbauer, Sean Parent, Mat Marcus, Bjarne Stroustrup:
Dynamic Algorithm Selection for Runtime Concepts.
In Science of Computer Programming (2009).
Elsevier Journal.
June 2009.
doi:10.1016/j.scico.2009.04.002.
Sean Parent and Bjarne Stroustrup:
Appendix B: Programming Language.
In Alexander Stepanov and Paul McJones:
Elements of programming.
Addison-Wesley.
ISBN 978-0321635372.
June 2009.
Damian Dechev, Peter Pirkelbauer, Nicolas Rouquette, and Bjarne Stroustrup:
Semantically Enhanced Containers for Concurrent Real-Time Systems.
Proc. 16th Annual IEEE International Conference and Workshop
on the Engineering of Computer Based Systems (IEEE ECBS).
April 2009.
Damian Dechev and Bjarne Stroustrup:
Model-Based Product-Oriented Certification.
Proc. of 16th Annual IEEE International Conference and Workshop on the
Engineering of Computer Based Systems (IEEE ECBS).
April 2009.
Bjarne Stroustrup:
Programming -- Principles and Practice Using C++.
Addison-Wesley. ISBN 978-0321543721. December 2008.
Support site for educators.
Polish translation. Helion.pl . 2010. ISBN 978-83-246-2233-7.
German translation.Pearson Studium. 2010. ISBN 978-3-86894-005-3.
Chinese translation: China Machine Press. 2010. ISBN: 9787111303220.
Chinese edition in English: China Machine Press 2010. ISBN 978-7-111-28248-8.
French translation. Pearson Educational France. 2010. ISBN 978-2-7440-7442-4.
Russian translation. Williams Publishing. 2010. ISBN 978-5-8459-1621-1.
Korean translation. Pearson Education Korea Ltd and Dae Woong Publishing Co. 2010. ISBN 978-8-98604-480-5.
Japanese translation. Shoeisha Company Ltd. 2011. ISBN 978-4798119595.
Portugese translation. Bookman Publishing. 2012. ISBN 987-85-7780-958-5.
Chinese translation (tradiditional). GrandTech Information Co. 2012. ISBN 978-986-2571-85-9.
Kazakh trnslation. 2013. ISBN 978-601-217-406-9.
Greek translation under way.
Damian Dechev, Rabi Mahapatra, and Bjarne Stroustrup:
Practical and Verifiable C++ Dynamic Cast for Hard Real-Time Systems.
Journal of Computing Science and Engineering (JCSE), Vol. 2, No. 4, Special Issue on
Real-Time Distributed Computing and Ubiquitous Computing in Memory of
Professor Moon Hae Kim.
December 2008.
Peter Pirkelbauer, Yuriy Solodkyy, and Bjarne Stroustrup:
Open Multi-Methods for C++.
Proc. ACM 6th International Conference
on Generative Programming and Component Engineering (GPCE). October 2007.
Steve Cook, Scott Pike, and Bjarne Stroustrup:
An Early-Reply Based Framework: Reliable Concurrency that Is Verifiable.
IEEE HASE'07. November 2007.
Luke Wagner, Jaakko Jarvi, and Bjarne Stroustrup:
Using ownership types to support aliasing boundaries.
IWACO'07 (ECOOP workshop: International Workshop on Aliasing,
Confinement and Ownership in object-oriented programming). July 2007.
B. Stroustrup:
Speaking C++ as a Native.
Proc. ACAT 2000.
Also in "Advanced Computing and Analysis Techniques in Physics Research",
editors: P. C. Bhat and M. Kasemann.
American Institute of Physics.
AIP Conference Proceedings Volume 583.
ISBN 0-7354-0023-7.
August 2001.
The conference has made
my slides and a video of my talk available.
B. Stroustrup:
Exception Safety: Concepts and Techniques.
In "Advances in Exception Handling Techniques", editors:
Christophe Dony,
Joergen Lindskov Knudsen,
Alexander Romanovsky, and
Anand Tripathi.
Springer Verlag Lecture Notes in Computer Science, LNCS-2022.
ISSN 0302-9743. ISBN 3-540-41952-7.
April 2001.
B. Stroustrup:
C++: A Brief History.
Encyclopedia of Computer Science, 4th ed.
(Anthony Ralston, Edwin D.
Reilly, David Hemmendinger, editors)
Grove's Dictionaries Inc.
New York.
2000.
ISBN 1-561-59248-X.
B. Stroustrup:
The C++ Programming Language (Special Edition).
Addison Wesley.
Reading Mass. USA.
February 2000.
ISBN 0-201-70073-5. 1029 pages. Hardcover.
German translation. 2000; ISBN 3-8273-1660-X.
Hungarian translation. Kiskapu Kiadó, Budapest. 2001.
ISBN 9639301183 (1st volume)
ISBN 9639301191 (2nd volume)
ISBN 9639301175ö (both volumes).
Russian translation. Binom Publishers, 2001. ISBN 5-7940-0031-7 and 2005 (hardcover) ISBN 5-7989-0223-4.
PRC English edition. Pierson Education North Asia Ltd. and Higher Edication press. Bejing. 2001. ISBN 7-04-010095-9.
Bulgarian translation. Info Dar. www.infodar.com. 2001. ISBN 954-761-035-X.
Dutch translation. 2002. ISBN 90-430-0231-3.
Chinese translation (traditional). Pearson Educational Taiwan. 2002. ISBN 957-2054-43-0.
Spanish translation. 2002. Pearson Educacion S.A. ISBN 84-7829-046-X.
Chinese translation. 2002. China Machine Press. ISBN 7-111-10202-9.
Romanian translation. 2003. Teora. www.teora.ro. ISBN 9-789732-008942.
Korean translation. 2005. Pearson Education Korea. www.pearson.edu.kr. ISBN 89-450-7204-7.
B. Stroustrup:
Getting from the past to the future.
The C++ Report.
pp 22-23.
Vol 11/No 10.
November-December 1999.
Also in
"More C++ Gems" (editor: Robert C. Martin). 2000. ISBN 0-521-78618-5.
B. Stroustrup:
An Overview of the C++ Programming Language.
Handbook of Object Technology
(Editor: Saba Zamir).
CRC Press LLC, Boca Raton, Florida.
1999.
ISBN 0-8493-3135-8.
B. Stroustrup:
A History of C++.
In "The Handbook of Programming Languages"
(Editor: Peter Salus).
Macmillan Technical Publishing.
Indianapolis. ISBN 1-57870-008-6.
1998.
B Stroustrup:
Standard C++ for Embedded Systems Programming.
Embedded Systems Development.
March 1998.
B. Stroustrup:
The C++ Programming Language (3rd Edition).
Addison-Wesley Longman.
Reading Mass. USA.
1997.
ISBN 0-201-88954-4.
International Student Edition.1998. Addison Wesley Longman. ISBN 0-201-43569-1.
German translation 1998; ISBN 3-8273-1296-5.
Spanish translation 1998; ISBN 84-7829-019-2.
Japanese translation 1998; ISBN 4-7561-1895-X.
Russian translation 1999; Binom Publshers; ISBN 5-7940-0031-7.
French Translation 1999; CampusPress; ISBN 2-7440-0609-2.
Chinese translation 1999; Addison-Wesley Longman and Scholars Books, Taiwan; ISBN 957-981524-0.
Swedish translation 2000; Bonnier Ekerlid Data, Stockholm; ISBN 0-201-67504-8.
Finnish translation 2000; Teknolit; ISBN 951-846-026-4.
Polish translation 2000; ISBN 83-204-2375-9.
Portugese translation 2000; Bookman, Porto Alegre, Brazil. ISBN 85-7307-699-29.
Italian translation. Addison Wesley Longman Italia. Milano. 2000. ISBN 88-7192-078-3.
Greek translation. Klidarythmos Computer Books. 2001. ISBN 960-332-142-7.
B. Stroustrup:
A perspective on Concurrency and C++.
in Wilson & Lu (Editors): Parallel Programming using C++.
The MIT Press.
1996.
ISBN 0-262-73118-5.
B. Stroustrup:
Language-technical Aspects of Reuse.
Proc. 4th International Conference on Software reuse,
pp 11-19.
April 1996.
B. Stroustrup:
A Brief Look at C++.
IEEE AI Expert, Intelligent Systems and their Applications,
pp 13-15.
February 1996.
A. R. Koenig and B. Stroustrup:
,a href="style95.pdf">Foundations for Native C++ Styles
.
Software Practice and Experience. Vol 25, special issue S4.
December 1995.
B. Stroustrup:
A Perspective on ISO C++.
The C++ Report. Vol 7/No 8,
pp 22-28.
October 1995.
Also in "C++ Gems" (editor: Stan Lippman) SIGS Publications, 1996. ISBN 1-884842-37-2.
B. Stroustrup:
Making a vector fit for a Standard.
The C++ Report.
October 1994.
Also in "C++ Gems" (editor: Stan Lippman) SIGS Publications, 1996. ISBN 1-884842-37-2.
B. Stroustrup:
The Design and Evolution of C++.
Addison Wesley, ISBN 0-201-54330-3.
March 1994.
German translation, Addison-Wesley Germany, Bonn. 1994. ISBN 3-89319-755-9.
Polish translation, Wydawnictwa Naukowo-Techniczne, Warszawa, 1996.
Russian translation. DMK Press, Moscow. 2000. ISBN 5-94074-005-7.
Chinese translation. China Machine Press. 2001. ISBN 7-111-09098-5.
Chinese edition in English. China Machine Press. 2002. ISBN 7-111-09592-8.
Japanese translation. Softbank Publishing. 2005. ISBN 4-7973-2854-1.
B. Stroustrup, A. Koenig, and B. Moo:
The C++ Programming Language.
Encyclopedia of Software Engineering. Wiley. ISBN 0-471-54004-8.
February 1994.
B. Stroustrup:
The Simula Programming Language.
Encyclopedia of Software Engineering. Wiley. ISBN 0-471-54004-8.
February 1994.
B. Stroustrup:
On Learning C++.
Martin Heller: Advanced Win32 Programming. Wiley.
July 1993.
B. Stroustrup:
Why Consider Language Extensions?.
Proc. European C++ Users' Group Meeting, Munich.
July 1993.
Also, The C++ Report. Vol 5 no 7.
B. Stroustrup:
Library Design Using C++.
The C++ Report. Vol 5 no 5,
pp 14-22.
June 1993.
Also in "C++ Gems" (editor: Stan Lippman) SIGS Publications, 1996. ISBN 1-884842-37-2.
B. Stroustrup:
A History of C++: 1979-1991.
Proc ACM History of Programming Languages conference (HOPL-2).
ACM Sigplan Notices. Vol 28 No 3,
pp 271-298.
March 1993.
Also, History of Programming languages (editors T.J.Begin and R.G.Gibson)
Addison-Wesley, ISBN 1-201-89502-1. 1996.
B. Stroustrup:
We're not in Kansas Anymore.
The C++ Report ``Moving from C to C++'' supplement. SIGS Publications.
August 1992.
B. Stroustrup:
Tracing the roots of C++.
Silver Anniversary Supplement. SIGS Publications.
August 1992.
B. Stroustrup
D. Lenkov:
Run-Time Type Identification for C++ (Revised).
Proc USENIX C++ Conference.
August 1992.
B. Stavtrup:
Overloading of C++ Whitespace.
Journal of Object-Oriented Programming.
April 1, 1992.
B. Stroustrup:
C++ 3.0, Standardisering, og andet godt.
PC World (Danmark).
March 1992 (in Danish).
B. Stroustrup and D. Lenkov:
Run-Time Type Identification for C++.
The C++ Report, Vol 4 No 3,
pp 32-42.
March/April 1992.
B. Stroustrup:
The C++ Programming Language (2nd Edition).
Addison Wesley, ISBN 0-201-53992-6.
June 1991.
French translation, Addison-Wesley France, 1992. ISBN 2-87908-013-4.
Vuibert Informatique. 1998. ISBN 2-7117-8617-X.
German translation, Addison-Wesley Germany, 1992. ISBN 3-89319-386-3.
Chinese translation, Scholars' Publication, Taipei, RC, October 1992. ISBN 957-652-396-6.
Japanese translation, Toppan, July 1993. ISBN 4-8101-8047-6.
Spanish translation, Addison-Wesley Iberoamericana, Mexico City and Madrid, 1993. ISBN 0-201-60104-4.
Italian translation, Addison-Wesley Italy, Milan, 1993. ISBN 88-7192-053-8.
Russian translation, Diasoft, Kiev, 1993. ISBN 5-87554-079.
Polish translation, Wydawnictwa Naukowa-Techniczne, Warszawa, 1994. ISBN 83-204-1697-3.
Czeck translation, Praha, 1997. ISBN 80-901507-2-1 and 80-86056-20-1.
Greek translation, Klidarithmos, 19??. ISBN 960-???-???-?.
B. Stroustrup:
Sixteen Ways to Stack a Cat.
The C++ Report.
Oct 1990.
(a somewhat odd paper provided by popular demand).
M. A. Ellis and B. Stroustrup:
The Annotated C++ Reference Manual.
Addison Wesley, ISBN 0-201-51459-1.
May 1990.
Russian translation, Mir, Moscow, 1992.
Japanese translation, Toppan 1992.
Portugese translation, Editoria Campus Ltda, Rio de Janeiro, 1993.
A. R. Koenig and B. Stroustrup:
Exception Handling for C++ (revised).
Proc USENIX C++ Conference.
April 1990.
Also, Journal of Object Oriented Programming, V3 no2, July/Aug 1990, pp 16-33.
Also in "The Evolution of C++" (editor Jim Waldo). The MIT Press. 1993. ISBN 0-262-73107.
B. Stroustrup:
On Language Wars.
Hotline on Object-Oriented Technology.
Vol 1, No 3. January 1990.
A. R. Koenig and B. Stroustrup:
Exception Handling for C++.
Proc ``C++ at Work'' Conference.
November 1989.
B. Stroustrup:
C++ er blevet voksen: Version 2.0.
PC World (Danmark).
Nr. 13 November 1989 pp 24-28 (in Danish).
A. R. Koenig and B. Stroustrup:
As Close as Possible to C - but no Closer.
The C++ Report.
Vol 1 No 7 July 1989.
Also, AT&T C++ Translator Release Notes, February 1990.
K. Simonsen and B. Stroustrup:
A European Representation for ISO C.
EUUG Newsletter.
Vol 9 No 2 Summer 1989 pp 15-18.
B. Stroustrup:
Standardizing C++.
The C++ Report.
Vol 1 No 1 January 1989.
Also in "C++ Gems" (editor: Stan Lippman) SIGS Publications, 1996. ISBN 1-884842-37-2.
B. Stroustrup:
The Evolution of C++: 1985-1989.
USENIX Computing Systems, V2 no 3,
pp 191-250.
Summer, 1989.
Also, AT&T C++ Translator Release Notes June 1989.
Also in "The Evolution of C++" (editor Jim Waldo). The MIT Press. 1993. ISBN 0-262-73107.
B. Stroustrup:
The C++ Reference Manual.
AT&T C++ Translator Release Notes.
June 1989.
B. Stroustrup and S. Lippman:
Pointers to Class Members in C++.
Proc. USENIX C++ Conference, Denver,
pp 305-326.
October, 1988.
B. Stroustrup:
Type-Safe Linkage for C++.
Proc. USENIX C++ Conference, Denver,
pp 193-210.
October, 1988.
Also, USENIX Computing Systems, V1 no 4, Fall 1988, pp 371-404.
Also, AT&T C++ Translator Release Notes June 1989.
B. Stroustrup:
Parameterized Types for C++.
Proc. USENIX C++ Conference, Denver,
pp 1-18.
October, 1988.
Also, Computing Systems, V2 no 1, Winter 1989.
Also, Journal of Object Oriented Programming, V1 no5, Jan/Feb 1989, pp 5-17.
Also, AT&T C++ Translator Release Notes June 1989.
B. Stroustrup:
Programspraaket C++.
Indistriell Datateknik,
pp 28-33.
August, 1988.
(in Swedish).
B. Stroustrup:
A Better C?
BYTE Magazine,
pp 215-218.
August, 1988.
The whole BYTE issue can be found here
and Brian Kernighan and Dennois Richie's paper of C can be found here.
B. Stroustrup:
Design Issues in C++.
ACM Sigplan Notices,
pp 33-37.
January, 1988.
B. Stroustrup and J. E. Shopiro:
A Set of Classes for Co-routine Style Programming.
Proc. USENIX C++ Workshop.
November, 1987.
B. Stroustrup:
The Evolution of C++: 1985-1987.
Proc. USENIX C++ Workshop.
November, 1987.
B. Stroustrup:
Possible Directions for C++.
Proc. USENIX C++ Workshop.
November, 1987.
Also in "The Evolution of C++" (editor Jim Waldo). The MIT Press. 1993. ISBN 0-262-73107.
B. Stroustrup:
Multiple Inheritance for C++.
Proc. EUUG Spring Conference.
May 1987.
Revised version in AT&T C++ Translator Release Notes, June 1989.
Also, USENIX Computing Systems, V2 no 4, Fall 1989, pp 367-396.
B. Stroustrup:
HICOOPS'87 Announcement.
ACM Sigplan Notices,
pg 2.
April 1, 1987.
B. Stroustrup:
An Overview of C++.
ACM Sigplan Notices, Special Issue,
pp 7-18.
October, 1986.
Also, Nikkei Electronic, February 1987, pp 239-250 (in Japanese).
Also, AUUGN vol 7, no 4-5 pp 39-55 (annotated by Mike Mobray).
Also, Proc. USENIX C++ Workshop, November 1987.
Also, The Lifeboat PERSPECTIVE, October 1988, pp 76-83 (in Japanese).
Also, AT&T C++ Translator Release Notes, June 1989.
B. Stroustrup:
What is Object-Oriented Programming?
Proc. 14th ASU Conference,
pp 69-84
August, 1986.
Revised version in Proc. ECOOP'87, May 1987, Springer Verlag Lecture Notes.
in Computer Science Vol 276, pp 51-70.
Also, Proc. USENIX C++ Workshop, November, 1987.
Also, INFORMATYKA, May 1988 (in Polish).
Also, Revised version in IEEE Software Magazine, May 1988, pp 10-20.
Also, AT&T C++ Translator Release Notes June 1989.
B. Stroustrup:
The C++ Programming Language.
IEEE Software.
January 1986.
Also, Simula Newsletter, Vol. 13, No. 4, November 1985.
B. Stroustrup:
A Set of C++ Classes for Co-routine Style Programming.
AT&T C++ Translator Release Notes.
November, 1985.
Leonie V. Rose and B. Stroustrup:
Complex Arithmetic in C++.
AT&T C++ Translator Release Notes.
November, 1985.
B. Stroustrup:
The C++ Programming Language.
Addison Wesley, ISBN 0-201-12078-X.
October, 1985.
German translation, Addison Wesley, 1987.
Japanese translation, Addison Wesley and Toppan, 1988.
French translation, Addison Wesley and InterEditions, 1989.
Italian translation, Addison Wesley Italia, Milan, 1990.
Serbo-Croat translation, Dragon Publishing, Belgrade, 1990.
Russian translation, Radio i Svyaz, Moscow, 1991.
Chinese translation (unauthorized), Bureau of Publication (authorization #3321-90321) of city of Beijing.
B. Stroustrup:
A C++ Tutorial.
Proc. Summer 1985 EUUG Conference.
September, 1985.
Also, Proc. ACM 1985 Annual Conference, pp. 56-64, October, 1985.
B. Stroustrup:
An Extensible I/O Facility for C++.
Proc. Summer 1985 USENIX Conference,
pp 57-70.
June, 1985.
B. Stroustrup:
Data Abstraction in C.
Bell Labs Technical Journal.
vol 63.
no 8 (Part 2),
pp 1701-1732.
October 1984.
Also in UNIX System Reading and Applications, pp 119-150, Prentice-Hall, 1987.
B. Stroustrup:
A C++ Tutorial.
Proc. 1984 National Communications Forum.
September, 1984.
B. Stroustrup:
Operator Overloading in C++
Proc. IFIP WG2.4 Conference on System Implementation Languages:
Experience & Assessment.
September, 1984.
B. Stroustrup:
Adding Classes to the C Language: An Exercise in Language Evolution
Software Practice and Experience,
pp 139-161.
February, 1983.
B. Stroustrup:
An Experiment with the Interchangeability of Processes and Monitors.
Software Practice and Experience,
pp 1011-1025,
December, 1982.
B. Stroustrup:
Classes: An Abstract Data Type Facility for the C Language.
A paper describing an early version of "C with Classes", the immediate ancestor to C++.
Please note that this paper was written 5 years before the release of C++.
Sigplan Notices,
January, 1982.
B. Stroustrup:
Long Return: A technique for Improving The Efficiency of
Inter-Module Communication.
Software Practice and Experience,
pp 131-143.
January 1981.
B. Stroustrup:
Specification of Software Systems for a Range of Execution Environments.
Proc. of Workshop on Fundamental Issues in Distributed Computing.
Fallbrook, CA.
December 1980.
B. Stroustrup:
An Inter-Module Communication System for a Distributed
Computer System.
Proc. of 1st Int'l Conf. on Distributed Computing Systems,
pp 412-418.
October 1979.
Reprinted in A Pragmatic View of Distributed Processing Systems,
Tutorial, Editor: Kenneth J. Thurber, IEE Catalog No. EHO-160-2,
pp. 296-302 (1980).
Also in Journal of Digital Systems.
March 1981.