{"id":36727,"date":"2026-07-16T22:26:54","date_gmt":"2026-07-16T22:26:54","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=36727"},"modified":"2026-07-16T22:26:54","modified_gmt":"2026-07-16T22:26:54","slug":"pure-virtual-cpp-2026-meet-the-speakers-part-3-modernizing-c","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/pure-virtual-cpp-2026-meet-the-speakers-part-3-modernizing-c\/","title":{"rendered":"Pure Virtual C++ 2026 [Meet the Speakers, Part 3]: Modernizing C++"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-36641\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo.webp\" alt=\"pvclogo png image\" width=\"1047\" height=\"275\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo.webp 1047w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo-300x79.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo-1024x269.webp 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/pvclogo-768x202.webp 768w\" sizes=\"(max-width: 1047px) 100vw, 1047px\" \/><\/a><\/p>\n<p><strong>Pure Virtual C++ 2026<\/strong> streams <strong>Tuesday, July 21, 2026 at 9:00 AM PT<\/strong>, a free, one-day virtual conference for the whole C++ community, live on YouTube (Microsoft Reactor) and Twitch, with on-demand recordings on the Visual Studio YouTube channel afterward. <strong><a href=\"https:\/\/aka.ms\/VirtualCpp\/Conf\/b\">Register now \u2192<\/a><\/strong><\/p>\n<p>This is the third and final post in our <strong>Meet the Speakers<\/strong> series. We&#8217;ve covered <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/pure-virtual-cpp-2026-meet-the-speakers-part-1-build-faster-run-faster\/\">building and running faster<\/a> and the <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/pure-virtual-cpp-2026-meet-the-speakers-part-2-the-ai-native-c-developer-workflow\/\">AI-native developer workflow<\/a>. We close with a theme about where the language is headed and how it lives alongside its neighbors: <strong>modernizing C++.<\/strong><\/p>\n<h2>Why this theme matters<\/h2>\n<p>Modernizing C++ isn&#8217;t only about adopting new standard features, it&#8217;s also about C++&#8217;s place in a world where hybrid codebases are increasingly the norm. Nowhere is that clearer than at the C++\/Rust boundary, where two systems languages have to coexist without giving up any performance. <strong>If your codebase is heading toward a mixed future, or is already there, this is the map you need.<\/strong><\/p>\n<h2>Victor Ciura: <em>Mind The Gap: C++\/Rust Interop<\/em><\/h2>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 300;\"><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round.webp\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-36726\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-300x300.webp\" alt=\"victorciura rust cpp interop victor ciura round png image\" width=\"300\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-300x300.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-150x150.webp 150w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-768x768.webp 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-24x24.webp 24w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-48x48.webp 48w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round-96x96.webp 96w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2026\/07\/victorciura-rust-cpp-interop-victor_ciura-round.webp 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<td style=\"width: 84.6329%;\">Victor is the technical lead of the Rust program at Microsoft, building the compiler toolchain and SDK behind Microsoft&#8217;s broader oxidation efforts and the open-source community. He spent the last 25 years doing systems programming in C++ across teams including the Microsoft C++ team, Advanced Installer, and Clang Power Tools, which makes him uniquely placed to talk about <em>both<\/em> sides of this boundary. <em>Follow Victor: <a href=\"https:\/\/x.com\/ciura_victor\">X @ciura_victor<\/a> \u00b7 <a href=\"https:\/\/hachyderm.io\/@ciura_victor\">Mastodon @ciura_victor<\/a> \u00b7 <a href=\"https:\/\/bsky.app\/profile\/ciuravictor.bsky.social\">Bluesky @ciuravictor.bsky.social<\/a><\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>What the session is about.<\/strong> Hybrid C++\/Rust codebases are quickly becoming a reality, and they&#8217;re here to stay. As both Rust and C++ codebases keep growing, on top of the mountain of existing C++, seamless interop between the two becomes essential. Victor surveys the real challenges: ABI compatibility, platform and toolchain guarantees, dropping down to C and FFI, and the many tools that generate glue code between the languages. The hard truth is that general-purpose interop without loss of performance hasn&#8217;t been fully solved yet; &#8220;just making it work&#8221; isn&#8217;t enough when both performance and ergonomics are on the line. This talk highlights the challenges, the solutions explored so far, and the promising avenues at the frontier.<\/p>\n<p><strong>What you&#8217;ll learn<\/strong><\/p>\n<ul>\n<li>Why hybrid C++\/Rust codebases are becoming common, and why interop is the key to their success.<\/li>\n<li>The spectrum of existing approaches, from ABI compatibility and FFI to glue-code generators, and the tradeoffs between performant and ergonomic.<\/li>\n<li>Where the frontier of C++\/Rust interoperability is heading.<\/li>\n<\/ul>\n<p><strong>Why C++ developers should attend.<\/strong> Whether you&#8217;re curious about Rust or already staring down a mixed codebase, this is a clear-eyed, experience-backed guide from someone leading the work at Microsoft. You&#8217;ll leave understanding the real constraints and the directions worth watching.<\/p>\n<p><strong>Learn ahead<\/strong><\/p>\n<ul>\n<li><strong>Recommended starting point:<\/strong> <a href=\"https:\/\/doc.rust-lang.org\/nomicon\/ffi.html\">Foreign Function Interface : The Rustonomicon (official)<\/a><\/li>\n<li>Also worth exploring:\n<ul>\n<li><a href=\"https:\/\/cxx.rs\/\">CXX : safe interop between Rust and C++<\/a><\/li>\n<li><a href=\"https:\/\/rust-lang.github.io\/rust-bindgen\/\">bindgen : automatic Rust FFI bindings from C\/C++ headers<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/windows-rs\">windows-rs : Rust for Windows on GitHub<\/a><\/li>\n<li><a href=\"https:\/\/en.cppreference.com\/w\/cpp\/language\/language_linkage\"><code>extern \"C\"<\/code> and language linkage : cppreference<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Register today<\/h2>\n<p><em>Mind The Gap: C++\/Rust Interop<\/em> is a featured session at Pure Virtual C++ 2026. <strong><a href=\"https:\/\/aka.ms\/VirtualCpp\/Conf\/b\">Register for free \u2192<\/a><\/strong><\/p>\n<p>That wraps our <strong>Meet the Speakers<\/strong> series: thank you for reading! Tune in on Monday to watch our full line-up of on-demand sessions, and join us live on <strong>Tuesday, July 21, 2026 at 9:00 AM PT<\/strong> for the main event. If you can&#8217;t make it, every session will be available on-demand on the Visual Studio YouTube channel afterward.<\/p>\n<p><em>See you there!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meet the speakers behind Pure Virtual C++ 2026. In the final part, Victor Ciura maps the real challenges and promising directions for C++\/Rust interop.<\/p>\n","protected":false},"author":308,"featured_media":36728,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270,1,3929],"tags":[],"class_list":["post-36727","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-cplusplus","category-pure-virtual-c"],"acf":[],"blog_post_summary":"<p>Meet the speakers behind Pure Virtual C++ 2026. In the final part, Victor Ciura maps the real challenges and promising directions for C++\/Rust interop.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/308"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=36727"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36727\/revisions"}],"predecessor-version":[{"id":36733,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36727\/revisions\/36733"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/36728"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=36727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=36727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=36727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}