BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY: C++11 Style - Bjarne Stroustrup\, Distinguished  University Profe
 ssor\, Texas A&amp\;M University\; Visiting Professor\, Cambridge Universi
 ty
DTSTART:20120215T160000Z
DTEND:20120215T173000Z
UID:TALK35502@talks.cam.ac.uk
CONTACT:Stephen Clark
DESCRIPTION: We know how to write bad code: Litter our programs with casts
 \, macros\, pointers\, naked new and deletes\, and complicated control str
 uctures. Alternatively (or in addition)\, obscure every design decision in
  a mess of deeply nested abstractions using the latest object-oriented pro
 gramming and generic programming tricks. For good measure\, complicate our
  algorithms with interesting special cases. Such code is incomprehensible\
 , unmaintainable\, usually inefficient\, and not uncommon.\n\nBut how do w
 e write good code? What principles\, techniques\, and idioms can we exploi
 t to make it easier to produce quality code? I will make an argument for t
 ype-rich interfaces\, compact data structures\, integrated resource manage
 ment and error handling\, and highly-structured algorithmic code. I will i
 llustrate my ideas and motivate my guidelines with a few idiomatic code ex
 amples.\n\nI will use C++11 freely. Examples include auto\, general consta
 nt expressions\, uniform initialization\, type aliases\, type safe threadi
 ng\, and user-defined literals. \n\nC++ features are only just starting to
  appear in production compilers\, so some of my suggestions have the natur
 e of conjecture. However\, developing a “modern style” is essential if
  we don’t want to maintain newly-written 1970s and 1980s style code in 2
 020.\n\nThis presentation reflects my thoughts on what “Modern C++” sh
 ould mean in the 2010s: a language for programming based on light-weight a
 bstraction with a direct and efficient mapping to hardware\, suitable for 
 infrastructure code.\n\nBjarne Stroustrup is the designer and original imp
 lementer of C++ and the author of \n\nProgramming -- Principles and Practi
 ce using C++\, \n\nThe C++ Programming Language\, \n\nThe Design and Evolu
 tion of C++\, and many other publications.\n\nHis research interests inclu
 de distributed systems\, design\, programming techniques\, software develo
 pment tools\, and programming languages. He is actively involved in the AN
 SI/ISO standardization of C++.\n\nDr. Stroustrup is a Distinguished Profes
 sor and holder of the College of Engineering Chair in Computer Science at 
 Texas A&M University. He retains a link with AT&T Labs - Research as an AT
 &T Fellow. He has received numerous honors\, including an honorary profess
 orship in the University of Aarhus\, Dr. Dobb's Excellence in Programming 
 award\, the William Procter Prize for Scientific Achievement from Sigma Xi
 \, the IEEE Computer Society's Computer Entrepreneur Award\, and the ACM G
 race Murray Hopper award. He is a member of the National Academy of Engine
 ering and an ACM and IEEE Fellow.\n\nHe received his Cand. Scient. (Mathem
 atics and Computer Science) 1975\, University of Aarhus Denmark\, and Ph.D
 . (Computer Science) 1979\, Cambridge University\, England.\n\n
LOCATION:Lecture Theatre 1\, Computer Laboratory
END:VEVENT
END:VCALENDAR
