Make Simple Tasks Simple!

C++ faces two challenges: Helping programmers address the most demanding tasks in terms of performance, scale, and dependability. It must also help programmers be productive writing ordinary maintainable code. There is much more "ordinary code" than there is performance-critical code. Thus, C++ must make simple tasks simple while not getting in the way of tuning software for the last byte and last cycle where that's necessary. This talk focuses on what C++11 and C++14 offers to simplify programming: auto, range-for loops, move semantics, futures, concepts, and more. However, the focus is not primarily on language features: the key is programming: how can we write better, more readable, efficient, and more maintainable code? If you think that the essence of C++ is clever pointer manipulation and huge class hierarchies you may be in for a few surprises.

Related Talks

Small Is Beautiful

Small Is BeautifulSystems get bigger, technologies reach further, practices mature, advice changes... or at least some of it does. Some guidance remains unaffected by the passing of paradigms, the evolution of technology or the scaling of development: break your software into small, cohesive parts defined by clear interfaces and sound implementations, all ...

Power of Simplicity

Alan Kay
an hour
Power of SimplicityOne of my all time favorite talks of Alan Kay's, given in 2015. Not my own video, though it hasn't been on YouTube before. Original location here: http://global.sap.com/campaign/na/usa/CRM-XU15-INT-STILP/index.html ...

Simplicity is Complicated

Rob Pike
23 minutes
Simplicity is ComplicatedGo is often described as a simple language. It is not, it just seems that way. Rob explains how Go's simplicity hides a great deal of complexity, and that both the simplicity and complexity are part of the design. ...

Simplicity Matters

Simplicity MattersRich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 20 years of experience in various domains. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages. ...