Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software development for infrastructure
Stroustrup B.  Computer 45 (1): 47-58, 2012. Type: Article
Date Reviewed: Jun 6 2012

Bjarne Stroustrup’s C++ manuals have always been near my desk. They go beyond the usual language reference manual to demonstrate powerful features and knotty points. This short article and video (http://ieeexplore.ieee.org/xpl/multimedia.jsp?&arnumber=6081841&isnumber=6127981) is similar. It is an advertisement for some of the nonobject-oriented features in the new standard C++11. Stroustrup gives short examples of compact, correct, and fast code. He argues that these features are best for certain kinds of software that he calls “infrastructure,” which need higher reliability and better performance than nonessential software.

For example, type systems understand units and so can recognize and correct common errors at compile time with no runtime cost. The new C++11 operator”” makes the expression “1ft +3inches” compilable. The video shows that complex numbers could be coded like this “1+2i” and still compile correctly. Similarly, a careful choice of library templates, rather than just using big O rules of thumb, generates faster software that is highly reliable. Stroustrup argues for compile time polymorphism rather than virtual functions. This implies a different training for system programmers. He is not alone. Others argue that teaching object-oriented languages leads to a shortage of good coders for embedded and safety-critical software [1,2].

Language mavens and C++ users will enjoy this article and start looking forward to updated compilers. However, I doubt it will convert the Pythonistas and Java-heads of this world.

Reviewer:  Richard Botting Review #: CR140234 (1301-0048)
1) Leopold, G. Struggle continues to plug embedded programming gap. EE Times, (May 2012). http://www.eetimes.com/electronics-news/4372250/Struggle-continues-to-plug-embedded-programming-gap (accessed May 29, 2012).
2) Stack Overflow. Which languages are used for safety-critical software? http://stackoverflow.com/questions/243387/which-languages-are-used-for-safety-critical-software (accessed May 29, 2012).
Bookmark and Share
  Featured Reviewer  
 
Software Development (K.6.3 ... )
 
 
C++ (D.3.2 ... )
 
 
Computer And Information Science Education (K.3.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Development": Date
Software development contracts: the impact of the provider’s risk of financial loss on project success
Jørgensen M.  CHASE 2017 (Proceedings of the 10th International Workshop on Cooperative and Human Aspects of Software Engineering, Buenos Aires, Argentina,  May 20-28, 2017) 30-35, 2017. Type: Proceedings
Aug 9 2017
How social and communication channels shape and challenge a participatory culture in software development
Storey M., Zagalsky A., Filho F., Singer L., German D.  IEEE Transactions on Software Engineering 43(2): 185-204, 2017. Type: Article
May 3 2017
Improving software development productivity: effective leadership and quantitative methods in software management
Jensen R.,  Prentice Hall Press, Upper Saddle River, NJ, 2014. 368 pp. Type: Book (978-0-133562-67-5)
May 21 2015
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2017 ThinkLoud, Inc.
Terms of Use
| Privacy Policy