{"id":888,"date":"2024-06-25T16:00:26","date_gmt":"2024-06-25T16:00:26","guid":{"rendered":"https:\/\/fde.cat\/index.php\/2024\/06\/25\/the-key-to-a-happy-rust-c-relationship\/"},"modified":"2024-06-25T16:00:26","modified_gmt":"2024-06-25T16:00:26","slug":"the-key-to-a-happy-rust-c-relationship","status":"publish","type":"post","link":"https:\/\/fde.cat\/index.php\/2024\/06\/25\/the-key-to-a-happy-rust-c-relationship\/","title":{"rendered":"The key to a happy Rust\/C++ relationship"},"content":{"rendered":"<p>The <a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\" target=\"_blank\" rel=\"noopener\">history of Rust at Meta<\/a> goes all the way back to 2016, when we first started using it for source control. Today, it has been widely embraced at Meta and is one of our <a href=\"https:\/\/engineering.fb.com\/2022\/07\/27\/developer-tools\/programming-languages-endorsed-for-server-side-use-at-meta\/\" target=\"_blank\" rel=\"noopener\">primary supported server-side languages<\/a> (along with C++, Python, and Hack).<\/p>\n<p>But that doesn\u2019t mean there weren\u2019t any growing pains.<\/p>\n<p>Aida G., a member of one of Meta\u2019s first Rust teams, joins Pascal Hartig (<a href=\"https:\/\/www.threads.net\/@passy_\" target=\"_blank\" rel=\"noopener\">@passy<\/a>) on the latest Meta Tech Podcast to dive into the challenges of getting Rust to interact with Meta\u2019s large amount of existing C++ code.<\/p>\n<p>Fortunately, the release of cxx, safe interop between C++, and even async Rust have made things a lot easier.<\/p>\n<p>Download or listen to the episode below:<\/p>\n\n<p>You can also find the episode wherever you get your podcasts, including:<\/p>\n<p><a href=\"https:\/\/podcasts.apple.com\/us\/podcast\/the-key-to-a-happy-rust-c-relationship\/id1370910331?i=1000657333515\" target=\"_blank\" rel=\"noopener\">Apple Podcasts<\/a><br \/>\n<a href=\"https:\/\/open.spotify.com\/episode\/1bozfPhbt7YLwgQUzsds6A\" target=\"_blank\" rel=\"noopener\">Spotify<\/a><br \/>\n<a href=\"https:\/\/pca.st\/3maf7gvr\" target=\"_blank\" rel=\"noopener\">PocketCasts<\/a><br \/>\n<a href=\"https:\/\/overcast.fm\/login\">Overcast<\/a><\/p>\n<p>The\u00a0<a href=\"https:\/\/insidefacebookmobile.libsyn.com\/\" target=\"_blank\" rel=\"noopener\">Meta Tech Podcast<\/a>\u00a0is a podcast, brought to you by Meta, where we highlight the work Meta\u2019s engineers are doing at every level \u2013 from low-level frameworks to end-user features.<\/p>\n<p>Send us feedback on\u00a0<a href=\"https:\/\/instagram.com\/metatechpod\" target=\"_blank\" rel=\"noopener\">Instagram<\/a>,\u00a0<a href=\"https:\/\/threads.net\/@metatechpod\" target=\"_blank\" rel=\"noopener\">Threads<\/a>, or\u00a0<a href=\"https:\/\/twitter.com\/metatechpod\" target=\"_blank\" rel=\"noopener\">X<\/a>.<\/p>\n<p>And if you\u2019re interested in learning more about career opportunities at Meta visit the\u00a0<a href=\"https:\/\/www.metacareers.com\/?ref=engineering.fb.com\" target=\"_blank\" rel=\"noopener\">Meta Careers<\/a>\u00a0page.<\/p>\n<p>The post <a href=\"https:\/\/engineering.fb.com\/2024\/06\/25\/developer-tools\/the-key-to-a-happy-rust-c-relationship\/\">The key to a happy Rust\/C++ relationship<\/a> appeared first on <a href=\"https:\/\/engineering.fb.com\/\">Engineering at Meta<\/a>.<\/p>\n<p>Engineering at Meta<\/p>","protected":false},"excerpt":{"rendered":"<p>The history of Rust at Meta goes all the way back to 2016, when we first started using it for source control. Today, it has been widely embraced at Meta and is one of our primary supported server-side languages (along with C++, Python, and Hack). But that doesn\u2019t mean there weren\u2019t any growing pains. Aida&hellip; <a class=\"more-link\" href=\"https:\/\/fde.cat\/index.php\/2024\/06\/25\/the-key-to-a-happy-rust-c-relationship\/\">Continue reading <span class=\"screen-reader-text\">The key to a happy Rust\/C++ relationship<\/span><\/a><\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-888","post","type-post","status-publish","format-standard","hentry","category-technology","entry"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":614,"url":"https:\/\/fde.cat\/index.php\/2022\/07\/27\/programming-languages-endorsed-for-server-side-use-at-meta\/","url_meta":{"origin":888,"position":0},"title":"Programming languages endorsed for server-side use at Meta","date":"July 27, 2022","format":false,"excerpt":"\u2013 Supporting a programming language at Meta is a very careful and deliberate decision. \u2013 We\u2019re sharing our internal programming language guidance that helps our engineers and developers choose the best language for their projects. \u2013 Rust is the latest addition to Meta\u2019s list of supported server-side languages. At Meta,\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":776,"url":"https:\/\/fde.cat\/index.php\/2023\/10\/23\/5-things-you-didnt-know-about-buck2\/","url_meta":{"origin":888,"position":1},"title":"5 Things you didn\u2019t know about Buck2","date":"October 23, 2023","format":false,"excerpt":"Meta has a very large monorepo, with many\u00a0 different programming languages. To optimize build and performance, we developed our own build system called Buck, which was first open-sourced in 2013.\u00a0 Buck2 is the recently open-sourced successor. In our internal tests at Meta, we observed that Buck2 completed builds approximately 2x\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":830,"url":"https:\/\/fde.cat\/index.php\/2024\/02\/26\/how-dotslash-makes-executable-deployment-simpler\/","url_meta":{"origin":888,"position":2},"title":"How DotSlash makes executable deployment simpler","date":"February 26, 2024","format":false,"excerpt":"Andres Suarez and Michael Bolin, two software engineers at Meta, join Pascal Hartig (@passy) on the Meta Tech Podcast to discuss the ins and outs of DotSlash, a new open source tool from Meta. DotSlash takes the pain out of distributing binaries and toolchains to developers. Instead of committing large,\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":302,"url":"https:\/\/fde.cat\/index.php\/2021\/08\/31\/a-brief-history-of-rust-at-facebook\/","url_meta":{"origin":888,"position":3},"title":"A brief history of Rust at Facebook","date":"August 31, 2021","format":false,"excerpt":"Facebook is embracing Rust, one of the most loved and fastest-growing programming languages available today. In addition to bringing new talent to its Rust team, Facebook has announced that it is officially joining the nonprofit Rust Foundation. Alongside fellow members including Mozilla (the creators of Rust), AWS, Microsoft, and Google,\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":728,"url":"https:\/\/fde.cat\/index.php\/2023\/06\/27\/meta-developer-tools-working-at-scale\/","url_meta":{"origin":888,"position":4},"title":"Meta developer tools: Working at scale","date":"June 27, 2023","format":false,"excerpt":"Every day, thousands of developers at Meta are working in repositories with millions of files. Those developers need tools that help them at every stage of the workflow while working at extreme scale. In this article we\u2019ll go through a few of the tools in the development process. And, as\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":865,"url":"https:\/\/fde.cat\/index.php\/2024\/05\/14\/behind-the-scenes-of-threads-for-web\/","url_meta":{"origin":888,"position":5},"title":"Behind the scenes of Threads for web","date":"May 14, 2024","format":false,"excerpt":"When Threads first launched one of the top feature requests was for a web client. In this episode of the Meta Tech Podcast, Pascal Hartig (@passy) sits down with Ally C. and Kevin C., two engineers on the Threads Web Team that delivered the basic version of Threads for web\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts\/888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/comments?post=888"}],"version-history":[{"count":0,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/posts\/888\/revisions"}],"wp:attachment":[{"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/media?parent=888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/categories?post=888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fde.cat\/index.php\/wp-json\/wp\/v2\/tags?post=888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}