Going Native : Day 1 Keynote - Bjarne Stroustrup: C++11 Style
A personal hero of mine, right up there with the likes of Steven Novella, Daniel Dennett and Richard Dawkins is undoubtedly Bjarne Stroustrup.
Don't know the name? For shame!!!
GoingNative 2012 is a 48 hour, globally live-streamed technical event for those who push the boundaries of general purpose computing by exploiting the true capabilities of the underlying machine: C++ developers. Distinguished speakers include the creator of C++, Bjarne Stroustrup, C++ Standards Committee Chair, Herb Sutter, C++ template and big compute master, Andrei Alexandrescu, STL master Stephan T. Lavavej, LLVM/Clang developer Chandler Carruth, distributed and parallel computing expert Hans Boehm, and C++ library design expert and ISO committee member Andrew Sutton.
"C11 feels like a new language" says C creator Bjarne Stroustrup. Tune in and find out why.
👀 Watch the Day 1 Keynote - Bjarne Stroustrup 👀
Excerpt:
We know how to write bad code: litter our programs with casts, macros, pointers, naked new and deletes, and complicated control structures.
Alternatively (or additionally), we could obscure every design decision in a mess of deeply nested abstractions using the latest object-oriented programming and generic programming tricks. Then, for good measure, we might complicate our algorithms with interesting special cases. Such code is incomprehensible, unmaintainable, usually inefficient, and not uncommon. But how do we write good code? What principles, techniques, and idioms can we exploit to make it easier to produce quality code?
In this presentation, I make an argument for type-rich interfaces, compact data structures, integrated resource management and error handling, and highly-structured algorithmic code. I illustrate my ideas and guidelines with a few idiomatic code examples.I use C11 freely. Examples include auto, general constant expressions, uniform initialization, type aliases, type safe threading, and user-defined literals. C11 features are only just starting to appear in production compilers, so some of my suggestions are conjecture. Developing a "modern style," however, is essential if we don't want to maintain newly-written 1970s and 1980s style code in 2020.
This presentation reflects my thoughts on what "Modern C++" should mean in the 2010s: a language for programming based on light-weight abstraction with direct and efficient mapping to hardware, suitable for infrastructure code.
— Bjarne Stroustrup