The Community for Technology Leaders
RSS Icon
Issue No.01 - January (2012 vol.45)
pp: 47-58
Bjarne Stroustrup , Texas A & M University
Infrastructure software needs more stringent correctness, reliability, efficiency, and maintainability requirements than non- essential applications. This implies greater emphasis on up-front design, static structure enforced by a type system, compact data structures, simplified code structure, and improved tool support. Education for infrastructure and application developers should differ to reflect that emphasis. A Web extra video features Bjarne Stroustrup of Texas A&M University discussing how C++ can help improve the reliability, maintainability, and performance of infrastructure software. He also describes features that are part of the latest versions of the C++ language.
Infrastructure, software education, C++, efficiency, compactness
Bjarne Stroustrup, "Software Development for Infrastructure", Computer, vol.45, no. 1, pp. 47-58, January 2012, doi:10.1109/MC.2011.353
1. R. Waters, "Server Farm Cost," Financial Times,9 Sept. 2011; .
2. N. Mitchell et al., "The Diary of a Datum: An Approach to Analyzing Runtime Complexity," Proc. Library-Centric Software Design, ACM, 2006; pages/sorbet.pubs.html/ $FILEdiaryslides.pdf.
3. B. Stroustrup, The C++ Programming Language (special ed.), Addison-Wesley, 2000.
4. "Programming Languages—C++," Int'l Standard ISO/IEC 14882-2011; .
5. "Mars Climate Orbiter Mishap Investigation Board Phase I Report," NASA, 10 Nov. 1999;
6. B. Stroustrup, "A Rationale for Semantically Enhanced Library Languages," Proc. Library-Centric Software Design (LCSD 05), Rensselaer Polytechnic Inst., 2005;
7. G. Dos Reis and B. Stroustrup, "General Constant Expressions for System Programming Languages," Proc. Symp. Applied Computing (SAC 10), ACM, 2010; .
8. A.A. Stepanov et al., "SIMD-Based Decoding of Posting Lists," Proc. ACM Conf. Information and Knowledge Management (CIKM 11), ACM, 2011; www.stepanovpapers.comCIKM_2011.pdf.
9. J. Siek, A. Lumsdaine, and L.-Q. Lee, "Generic Programming for High-Performance Numerical Linear Algebra," Proc. SIAM Workshop Interoperable Object-Oriented Scientific Computing, SIAM, 1998, pp. 1-10; .
10. B. Stroustrup, "Learning Standard C++ as a New Language," C/C++ Users J., May 1999; .
11. A. Stepanov and M. Lee, The Standard Template Library, tech. report 95-11(R.1), HP Labs, 1995.
12. G. Dos Reis and B. Stroustrup, "Specifying C++ Concepts," Proc. Symp. Principles of Programming Languages (POPL 06), ACM, 2006; .
13. D. Gregor et al., "Concepts: Linguistic Support for Generic Programming in C++," Proc. Object-Oriented Programming, Systems, Languages & Applications (OOPSLA 06), ACM, 2006; .
14. A. Sutton and B. Stroustrup, "Design of Concept Libraries for C++," Proc. Software Language Eng. (SLE 11), 2011; .
15. B. Stroustrup, "Exception Safety: Concepts and Techniques," LNCS 2022, Springer, 2001; .
16. A. Bessey et al., "A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World," Comm. ACM, Feb. 2010, pp. 66-75; fulltext .
17. G. Dos Reis and B. Stroustrup, "A Principled, Complete, and Efficient Representation of C++," J. Mathematics in Computer Science, 2011; .
18. D. Parnas, "Really Rethinking Formal Methods," Computer, Jan. 2010, pp. 28-34; MC.2010.22.
19. T. Ramananandro, G. Dos Reis, and X. Leroy, "Formal Verification of Object Layout for C++ Multiple Inheritance," Proc. Symp. Principles of Programming Languages (POPL 11), ACM, 2011; .
20. G.J. Holzmann, The Spin Model Checker, Addison-Wesley, 2003.
21. B. Stroustrup, "What Should We Teach Software Developers? Why?" Comm. ACM, Jan. 2010, pp. 40-42; fulltext .
8 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool