{"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":865,"url":"https:\/\/fde.cat\/index.php\/2024\/05\/14\/behind-the-scenes-of-threads-for-web\/","url_meta":{"origin":888,"position":1},"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":[]},{"id":776,"url":"https:\/\/fde.cat\/index.php\/2023\/10\/23\/5-things-you-didnt-know-about-buck2\/","url_meta":{"origin":888,"position":2},"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":3},"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":680,"url":"https:\/\/fde.cat\/index.php\/2023\/02\/16\/inside-metas-first-smart-glasses\/","url_meta":{"origin":888,"position":4},"title":"Inside Meta\u2019s first smart glasses","date":"February 16, 2023","format":false,"excerpt":"What\u2019s new: Meta is sharing the inside story of how it developed the Ray-Ban Stories smart glasses. Why it matters: Creating Ray-Ban Stories meant Meta\u2019s engineers had to take on new challenges to build smart glasses that married complex engineering dynamics. How do you make something that features cameras, microphones,\u2026","rel":"","context":"In &quot;Technology&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":715,"url":"https:\/\/fde.cat\/index.php\/2023\/05\/18\/msvp-is-metas-first-video-processing-asic\/","url_meta":{"origin":888,"position":5},"title":"MSVP is Meta\u2019s first video processing ASIC","date":"May 18, 2023","format":false,"excerpt":"The post MSVP is Meta\u2019s first video processing ASIC appeared first on Engineering at Meta. Engineering at Meta","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}]}}