The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January (2012 vol.45)
pp: 47-58
Bjarne Stroustrup , Texas A & M University
ABSTRACT
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.
INDEX TERMS
Infrastructure, software education, C++, efficiency, compactness
CITATION
Bjarne Stroustrup, "Software Development for Infrastructure", Computer, vol.45, no. 1, pp. 47-58, January 2012, doi:10.1109/MC.2011.353
REFERENCES
1. R. Waters, "Server Farm Cost," Financial Times,9 Sept. 2011; www.ft.com/cms/s/26e358ae0-da7a-11e0-bc99-00144feabdc0.html#axzz1YhypogYG .
2. N. Mitchell et al., "The Diary of a Datum: An Approach to Analyzing Runtime Complexity," Proc. Library-Centric Software Design, ACM, 2006; http://domino.watson.ibm.com/comm/research_projects.nsf/ 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; www-d0.fnal.gov/~dladamscxx_standard.pdf .
5. "Mars Climate Orbiter Mishap Investigation Board Phase I Report," NASA, 10 Nov. 1999; ftp://ftp.hq.nasa.gov/pub/pao/reports/1999/MCO_report.pdf.
6. B. Stroustrup, "A Rationale for Semantically Enhanced Library Languages," Proc. Library-Centric Software Design (LCSD 05), Rensselaer Polytechnic Inst., 2005; www.cs.rpi.edu/research/pdf06-12.pdf.
7. G. Dos Reis and B. Stroustrup, "General Constant Expressions for System Programming Languages," Proc. Symp. Applied Computing (SAC 10), ACM, 2010; http://www2.research.att.com/~bssac10-constexpr.pdf .
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; www.osl.iu.edu/publications/prints/1998siek98:_siamoo.pdf .
10. B. Stroustrup, "Learning Standard C++ as a New Language," C/C++ Users J., May 1999; http://www2.research.att.com/~bsnew_learning.pdf .
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; http://www2.research.att.com/~bspopl06.pdf .
13. D. Gregor et al., "Concepts: Linguistic Support for Generic Programming in C++," Proc. Object-Oriented Programming, Systems, Languages & Applications (OOPSLA 06), ACM, 2006; http://www2.research.att.com/~bsoopsla06.pdf .
14. A. Sutton and B. Stroustrup, "Design of Concept Libraries for C++," Proc. Software Language Eng. (SLE 11), 2011; http://www2.research.att.com/~bssle2011-concepts.pdf .
15. B. Stroustrup, "Exception Safety: Concepts and Techniques," LNCS 2022, Springer, 2001; http://www2.research.att.com/~bsexcept.pdf .
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; http://cacm.acm.org/magazines/2010/2/69354-a-few-billion-lines-of-code-later fulltext .
17. G. Dos Reis and B. Stroustrup, "A Principled, Complete, and Efficient Representation of C++," J. Mathematics in Computer Science, 2011; http://www2.research.att.com/~bsmacis09.pdf .
18. D. Parnas, "Really Rethinking Formal Methods," Computer, Jan. 2010, pp. 28-34; www.computer.org/portal/web/csdl/doi/10.1109 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; http://gallium.inria.fr/~xleroy/publicpp-object-layout.pdf .
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; http://cacm.acm.org/magazines/2010/1/55760-what-should-we-teach-new-software-developers-why fulltext .
42 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool