Silicon Valley Code Camp : October 6th and 7th, 2012

Jon Kalb

cpp.training
About Jon
Jon has been programming in C++ for two and a half decades. During the last twenty-five years he has written C++ for Amazon, Apple, Dow Chemical, Intuit, Lotus, Microsoft, Netscape, Sun, Yahoo! and a number of companies that you've not heard of. Jon's current interest is developing his onsite training business. He has extensive experience with formal training and presentations on C++. Jon is an Approved Outside Training Vendor for Scott Meyers' training materials. For information on course content, dates, and rates, please contact "jon" at cpp.training. Jon has done formal training or presentations on C++ at ACCU-Silicon Valley, Altara, Apple, Amazon, Bloomberg, BMW, C++Now, CppCon, HTRI, Microsoft, New York C++ Developers' Group, Portland C++ Users Group, San Francisco C++ User Group, Silicon Valley Code Camp, and Societe Generale. He taught C++ at the Golden Gate University graduate school for five semesters. Jon's talk on Exception-Safe Coding won Best Tutorial at C++Now. Jon has been given the Microsoft MVP award for Visual C++ for 2014 and 2015. Jon is chair of CppCon, C++Now and the C++ Track for Silicon Valley Code Camp. He serves on the Advisory Board for Undo Software and chairs the Boost Steering Committee.
{speaker.firstName} {speaker.lastName}

Speaking Sessions

  • Exception-Safe Coding in C++ Part I

    9:45 AM Saturday   Room: 4301
    Are you 100% confident that your code is exception-safe? Safe usage of exceptions is a non-trivial problem that the industry has struggled with for the better part of two decades. If you have fear, uncertainty, or doubt about exception safety or just want to see the best practices for using exceptions in C++, this session is for you. We’ll start with “What is the problem we are trying to solve?” and discuss alternatives, acknowledge the challenges associated with exception usage, and cover some well-meaning but misguided attempts at safety. I will then present a set of guidelines that are the basis for safe exception usage and solid implementation techniques, including how to transition from an exception-unsafe legacy code base. When we are finished you will know how to produce code that is easier to write, easier to understand, faster to execute, and 100% robust in the face of exceptions. This update of last year's talk covers substantially more material including C++11. This talk won Best Tutorial at this year's BoostCon.

  • Exception-Safe Coding in C++ Part II

    11:15 AM Saturday   Room: 4301
    Are you 100% confident that your code is exception-safe? Safe usage of exceptions is a non-trivial problem that the industry has struggled with for the better part of two decades. If you have fear, uncertainty, or doubt about exception safety or just want to see the best practices for using exceptions in C++, this session is for you. We’ll start with “What is the problem we are trying to solve?” and discuss alternatives, acknowledge the challenges associated with exception usage, and cover some well-meaning but misguided attempts at safety. I will then present a set of guidelines that are the basis for safe exception usage and solid implementation techniques, including how to transition from an exception-unsafe legacy code base. When we are finished you will know how to produce code that is easier to write, easier to understand, faster to execute, and 100% robust in the face of exceptions. This update of last year's talk covers substantially more material including C++11. This talk won Best Tutorial at this year's BoostCon.

  • C++11: Rvalue References, Move Semantics, and Perfect Forwarding

    9:15 AM Sunday    Room: 3525
    This presentation is on what Scott Meyers has called the marquee feature of C++11. Rvalue references is a feature introduced in the new 2011 ISO C++ Standard that enables both move semantics and perfect forwarding. Move semantics improves exception-safe coding, increases code clarity, and and can enable dramatic increases in performance. Perfect forwarding makes it much easier to create certain kinds of libraries that combine power and expressiveness with ease of use..