Phillip James (Bill) Plauger (born January 13, 1944, Petersburg, West Virginia) 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.
Plauger worked at Bell Labs from 1969 to 1975, where he coauthored Elements of Programming Style and Software Tools with Brian Kernighan. In 1978, he founded Whitesmiths, the first company to sell a C compiler and Unix-like operating system (Idris). He has since been involved in C and C++ standardization and is now the president of Dinkumware. In January 2009 he became the convener of the ISO C++ standards committee, but in October 2009 he tendered his resignation after failing to pass a resolution to stop processing any new features in order to facilitate the promised shipping date for the C++0x standard.
Plauger has been credited with inventing pair programming while leading Whitesmiths Ltd.
Plauger wrote a science fiction short story, "Child of All Ages", first published in Analog in the March 1975 issue, whose protagonist was granted immortality before attaining puberty and finds that being a child who never grows up is far removed from an idyllic Peter Pan-like existence. The story was nominated for a Nebula Award in 1975 and a Hugo Award in 1976. He won the John W. Campbell Award for Best New Writer in 1975—notably beating John Varley for the award—and subsequently sold a story to The Last Dangerous Visions.
Plauger holds a bachelor's degree in physics from Princeton University and a PhD in nuclear physics from the Michigan State University.
Dinkumware is an American software company specializing in core libraries for C/C++, and owned and operated by P. J. Plauger. It is based in Concord, Massachusetts (US).
The company has provided the C++ Standard Library implementation that ships with Microsoft Visual C++ since 1996, and supplies C++ and Embedded C++ libraries to the embedded community.
They also provide libraries for Java and other tools, including "proofers" to test for library adherence to the standard.