Loading…
CppCon 2015 has ended
Montessori Hall [clear filter]
Monday, September 21
 

8:00am PDT

Registration
Welcome! Let's get the paperwork out of the way.

Monday September 21, 2015 8:00am - 9:00am PDT
Montessori Hall Meydenbauer Center

9:00am PDT

Keynote: Writing Good C++14
How do we use C++14 to make our code better, rather than just different? How do we do so on a grand scale, rather than just for exceptional programmers? We need guidelines to help us progress from older styles, such as “C with Classes”, C, “pure OO”, etc. We need articulated rules to save us from each having to discover them for ourselves. Ideally, they should be machine-checkable, yet adjustable to serve specific needs.

In this talk, I describe a style of guidelines that can be deployed to help most C++ programmers. There could not be a single complete set of rules for everybody, but we are developing a set of rules for most C++ use. This core can be augmented with rules for specific application domains such as embedded systems and systems with stringent security requirements. The rules are prescriptive rather than merely sets of prohibitions, and about much more than code layout. I describe what the rules currently cover (e.g., interfaces, functions, resource management, and pointers). I describe tools and a few simple classes that can be used to support the guidelines.

The core guidelines and a guideline support library reference implementation will be open source projects freely available on all major platforms (initially, GCC, Clang, and Microsoft).

Use, comment, and contribute!

Speakers
avatar for Bjarne Stroustrup

Bjarne Stroustrup

Professor, Columbia University
Bjarne Stroustrup is the designer and original implementer of C++ as well as the author of The C++ Programming Language (4th Edition) and A Tour of C++ (3rd edition), Programming: Principles and Practice using C++ (2nd Edition), and many popular and academic publications. He is a... Read More →


Monday September 21, 2015 9:00am - 10:45am PDT
Montessori Hall Meydenbauer Center
 
Tuesday, September 22
 

10:30am PDT

Writing Good C++14 By Default
Modern C++ is clean, safe, and fast. It continues to deliver better and simpler features than were previously available. How can we help most C++ programmers get the improved features by default, so that our code is better by upgrading to take full advantage of modern C++?

This talk continues from Bjarne Stroustrup’s Monday keynote to describe how the open C++ core guidelines project is the cornerstone of a broader effort to promote modern C++. Using the same cross-platform effort Stroustrup described, this talk shows how to enable programmers write production-quality C++ code that is, among other benefits, type-safe and memory-safe by default –  free of most classes of type errors, bounds errors, and leak/dangling errors – and still exemplary, efficient, and fully modern C++.

Background reading: Bjarne Stroustrup’s 2005 “SELL” paper, “A rationale for semantically enhanced library languages," is important background for this talk.

Speakers
avatar for Herb Sutter

Herb Sutter

Software architect, Microsoft
Herb is an author, designer of several Standard C++ features, and chair of the ISO C++ committee and the Standard C++ Foundation. His current interest is simplifying C++.


Tuesday September 22, 2015 10:30am - 12:00pm PDT
Montessori Hall Meydenbauer Center
 
Wednesday, September 23
 

10:30am PDT

Keynote: Better Code: Data Structures
The standard library containers are often both misused and underused. 
Instead of creating new containers, applications are often structured with 
incidental data structures composed of objects referencing other object. 
This talk looks at some of the ways the standard containers can be better 
utilized and how creating (or using non-standard library) containers can 
greatly simplify code. The goal is no incidental data structures. 

Speakers
avatar for Sean Parent

Sean Parent

Sr. Principal Scientist, Adobe
Sean Parent is a senior principal scientist and software architect managing Adobe's Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. In 2009 Sean spent a year at Google... Read More →


Wednesday September 23, 2015 10:30am - 12:00pm PDT
Montessori Hall Meydenbauer Center
 
Thursday, September 24
 

10:30am PDT

Tuning C++: Benchmarks, and Compilers, and CPUs! Oh My!
A primary use case for C++ is low latency, low overhead, high performance code. But C++ does not give you these things for free, it gives you the tools to control these things and achieve them where needed. How do you realize this potential of the language? How do you tune your C++ code and achieve the necessary performance metrics?

This talk will walk through the process of tuning C++ code from benchmarking to performance analysis. It will focus on small scale performance problems ranging from loop kernels to data structures and algorithms. It will show you how to write benchmarks that effectively measure different aspects of performance even in the face of advanced compiler optimizations and bedeviling modern CPUs. It will also show how to analyze the performance of your benchmark, understand its behavior as well as the CPUs behavior, and use a wide array of tools available to isolate and pinpoint performance problems. The tools and some processor details will be Linux and x86 specific, but the techniques and concepts should be broadly applicable.

Speakers
avatar for Chandler Carruth

Chandler Carruth

Software Engineer, Google
Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system... Read More →


Thursday September 24, 2015 10:30am - 12:00pm PDT
Montessori Hall Meydenbauer Center
 
Friday, September 25
 

10:30am PDT

Ranges and the Future of the STL
Range-based interfaces are functional and composable, and lead to code that is correct by construction. With concepts and ranges coming to the STL, big changes are in store for the Standard Library and for the style of idiomatic C++. The effort to redefine the Standard Library is picking up pace. Come hear about one potential future of the STL from one of the key people driving the change.

Speakers
avatar for Eric Niebler

Eric Niebler

Distinguished Engineer, NVIDIA
Eric is a long-time member of the ISO C++ Standardization Committee, and is probably best known for his work bringing ranges support to the C++20 Standard Library. He specializes in modern C++ library design, authoring several Boost libraries and the popular range-v3 library for computing... Read More →


Friday September 25, 2015 10:30am - 12:00pm PDT
Montessori Hall Meydenbauer Center

2:00pm PDT

Technical Specifications and C++17
The panel will discuss each of the Technical Specifications that the committee has either released or will release soon. We'll cover the File System, Library Fundamentals, Parallelism, Concepts, Transactional Memory, Concurrency, and Networking Technical Specifications. We'll discuss and take questions on the nature of each TS as well as its status in the committee, in implementations, and as a candidate for inclusion in C++17.

Moderators
avatar for Chandler Carruth

Chandler Carruth

Software Engineer, Google
Chandler Carruth is the technical lead for Google's programming languages and software foundations. He has worked extensively on the C++ programming language and the Clang and LLVM compiler infrastructure. Previously, he worked on several pieces of Google's distributed build system... Read More →

Speakers
avatar for Michael Caisse

Michael Caisse

Ciere, Inc.
Michael Caisse started using C++ with embedded systems over 30 years ago. He continues to be passionate about combining his degree in Electrical Engineering with elegant software solutions and is always excited to share his discoveries with others.Michael works for Ciere Consulting... Read More →
avatar for Beman Dawes

Beman Dawes

Emeritus, C++ Standards Committee
Beman Dawes is a software developer from Virginia in the United States and the founder of boost.org. He is the author of the StreetQuick geographic atlas library used by digital map publishers to help people get really, really, lost. He wrote his first computer program 40 years ago... Read More →
avatar for Eric Niebler

Eric Niebler

Distinguished Engineer, NVIDIA
Eric is a long-time member of the ISO C++ Standardization Committee, and is probably best known for his work bringing ranges support to the C++20 Standard Library. He specializes in modern C++ library design, authoring several Boost libraries and the popular range-v3 library for computing... Read More →
avatar for Gor Nishanov

Gor Nishanov

Software Engineer, Microsoft
Gor Nishanov is a Principal Software Design Engineer on the Microsoft C++ team. He works on design and standardization of C++ Coroutines, and on asynchronous programming models. Prior to joining C++ team, Gor was working on distributed systems in Windows Clustering team.
avatar for Gabriel Dos Reis

Gabriel Dos Reis

Gabriel Dos Reis is a Principal Software Development Engineer at Microsoft. He is also a researcher and a longtime member of the C++ community.  His research interests include programming tools for dependable software. Prior to joining Microsoft, he was Assistant Professor at Texas... Read More →
avatar for Michael Wong

Michael Wong

Distinguished Engineer, VP, Codeplay
Michael Wong is Distinguished Engineer/VP of R&D at Codeplay Software. He is a current Director and VP of ISOCPP , and a senior member of the C++ Standards Committee with more then 15 years of experience. He chairs the WG21 SG5 Transactional Memory and SG14 Games Development/Low Latency/Financials... Read More →


Friday September 25, 2015 2:00pm - 3:30pm PDT
Montessori Hall Meydenbauer Center
 
Filter sessions
Apply filters to sessions.