Program Manager II
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
June 6, 2023, 1:00 PM - 4:00 PM UTC
Join us for a free, three-hour virtual conference for the whole C++ community.
Can't wait for the live event on June 6? Check out these videos and demos for some exclusive pre-conference content!
|1:00 PM UTC||C++ Compiler Errors for Humans with Sy Brand|
|1:35 PM UTC||Address Sanitizer continue_on_error with Jim Radigan|
|2:10 PM UTC||Value-Oriented Programming with Tony Van Eerd|
|2:45 PM UTC||Productive Cross-Platform and Game Development in Visual Studio with Sinem Akinci and David Li|
|3:20 PM UTC||Build Time Reflection with C++ in Year 2023 with Gabriel Dos Reis|
In every ISO C++ survey so far, compiler errors have been one of the top answers for "what is one thing you would change about C++ if you had a magic wand?" We may not have a magic wand, but maybe we can still improve on the state of diagnostics.
In this talk Sy will discuss the characteristics of diagnostics which make them better—based on industry tools and academic research—and show what our team has been working on to improve our errors in MSVC and the Visual Studio IDE.
C++ memory safety errors continue to be a top concern. In this talk we describe continue_on_error which is new technology implemented in the Address Sanitizer runtime. The compiler and new runtime allow a developer to find a well-defined set of (possibly hidden) memory safety errors, has zero false positives, and is easily added to existing test assets. This creates a new checked-build for C and C++.
This new functionality allows an application to continue running while reporting memory safety errors to a log file or the command line. The existing Address Sanitizer runtime will report the first memory error encountered and then kill your application. When enabled, the new continue_on_error feature, will automatically return control back to the application after reporting each memory safety error. With continue_on_error you can compile and deploy an existing application in limited production to find memory safety issues or leaks while running for days.
If you compile with one extra flag (-fsanitize=address) and set one environment variable (set ASAN_OPTIONS=continue_on_error=1), you get a turnkey solution for immediately improving correctness and security. You can still pass all your existing tests but also uncover hidden memory safety errors in your passing tests. This should be used to introduce a new “shipping gate. It can be entirely based on your existing test assets. The developer gets a simple (pass/fail) gate for shipping any C or C++ on Windows. Internally we have found that using this technology will significantly reduce memory safety errors. If all your existing tests pass but this new feature reports a memory safety error or a leak, you should not ship your new code or integrate it into a parent branch.
We describe the technology, use demos to dive into important examples and discuss the 2021 CWE Top 25 Most Dangerous Software Weaknesses which helps to underscores the importance of using this new technology: A well defined shipping gate for C and C++.
OOP - Object-Oriented Programming - has been a stalwart technique of programming for decades, but lately there has been lots of talk about VOP - Value Oriented Programming. What is it? Why is it? As Inigo Montoya said, "Let me explain. No, there is too much. Let me sum up."
The goal here is, in a short time, to get a feel for Values vs Objects, and when and why you might choose one technique over the other.
Visual Studio has a variety of rich integrations to support all different types of development. In this talk, we will show how to utilize these tools to maximize your productivity when targeting all different sorts of applications. See how you can use those tools to work on a game and discover all the important Unreal Engine Integrations in the latest version of Visual Studio. Sinem and David will focus on cross-platform tooling as well as productivity enhancements in the IDE.
As a C++ programmer, have you been wondering when you could finally get reflection functionalities in your hands to boost your productivity and to expand your innovative ideas? Come find out what you can accomplish, today, at build time with Modules and contemporary C++.
Program Manager II
C++ Developer Advocate
Principal Software Engineer, Visual C++
Senior Program Manager
Partner Software Architect, Visual C++
Principal Software Developer, Christie Digital Systems
The event is free! You can join Learn Events anytime to stream content for free!
We will be streaming this live virtual event June 6 from 6:00 AM - 9:00 AM PT.
This event is virtual! Join us and thousands of others to enjoy the experience from the comfort of your own home, office, or device.
Yes! You can stream our past events anytime! Visit Browse Events to stream anytime.
Your privacy is important to us and we encourage you to review the Microsoft Privacy Statement for additional information.
We seek to provide a respectful, friendly, professional experience for everyone, regardless of gender, sexual orientation, physical appearance, disability, age, race or religion. We do not tolerate any behavior that is degrading to any gender, race, sexual orientation, or disability, or any behavior that would be deemed harassment or discrimination. Individuals are responsible for knowing and abiding by our standards and we encourage everyone to assist in creating a welcoming and safe environment. Additionally, we strive to treat our shared planet with the same amount of respect. Please report any questions, concerns, or disruptive activity or behavior to the organizing team, so that we can address the issue immediately.