How to Master C++

By Jim Pascoe

This talk gives practical advice for learning and improving skills with modern C. The talk identifies five programming ‘mindsets’ that are key to C and describes how to develop each. By blending these mindsets together (and consciously recognising when to switch), programmers can continuously improve, which ultimately leads to one form of C++ ‘mastery’.

The talk begins by examining the imperative programming mindset, which includes the design of user-defined types. The talk then focuses on the mindsets which underlie C compile time programming, functional programming (with C), concurrency and performance. The differences between the various forms of thinking are distilled and practical guidance is given for how to cultivate each. The talk concludes by highlighting that there are many other mindsets which contribute to C++ mastery, for example, debugging, testing and optimisation.

This talk is intended to highlight the fact that C (and programming in general) does not consist purely of a single mindset. Moreover, software engineering requires many different ways of thinking to be blended together to produce the best possible solutions. The aim of the talk is to identify those mindsets that are key to C and to provide practical guidance for developing each. The talk is suitable for everyone and all levels of ability.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.