{"id":13272,"date":"2025-01-15T07:00:00","date_gmt":"2025-01-15T15:00:00","guid":{"rendered":"https:\/\/formtek.com\/blog\/?p=13272"},"modified":"2024-11-04T14:13:47","modified_gmt":"2024-11-04T22:13:47","slug":"the-c-conundrum-white-house-pushes-for-memory-safe-programming","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/the-c-conundrum-white-house-pushes-for-memory-safe-programming\/","title":{"rendered":"The C++ Conundrum: White House Pushes for Memory-Safe Programming"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In a surprising move, the Biden administration has taken a stance on software development practices, urging programmers to move away from languages like C and C++ in favor of memory-safe alternatives. This recommendation, coming from the White House Office of the National Cyber Director (ONCD), has sparked debate in the tech community and raised questions about the future of software development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The ONCD&#8217;s 19-page report, released in February 2024, emphasizes the need to adopt memory-safe programming languages to reduce cybersecurity vulnerabilities. National Cyber Director Harry Coker stated, &#8220;We, as a nation, have the ability\u2014and the responsibility\u2014to reduce the attack surface in cyberspace and prevent entire classes of security bugs from entering the digital ecosystem.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This push comes in response to alarming statistics from Microsoft and Google, which found that approximately 70% of all security vulnerabilities are caused by memory safety issues. The government&#8217;s stance aligns with recommendations from other agencies, including the US Cybersecurity and Infrastructure Security Agency (CISA), which has also advocated for memory-safe languages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While C and C++ remain popular, with about 22% and 19% of programmers using them respectively as of 2023, the government is promoting alternatives like Rust, C#, Go, Java, Ruby, and Swift. This shift could have significant implications for the software industry, potentially influencing hiring practices, education curricula, and project development strategies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, the transition won&#8217;t be immediate or universal. Dan Grossman, a computer science professor at the University of Washington, notes that while &#8220;dangers of C and C++ have been well-known for decades,&#8221; the change will be gradual, especially in embedded systems. The report acknowledges this, suggesting a focus on rewriting high-risk components as a starting point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Companies are already responding to this call. Major tech firms like Microsoft and Google have been investing in memory-safe languages, with Rust gaining particular traction in systems programming. However, the vast existing codebase in C and C++ presents a significant challenge for wholesale migration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The White House&#8217;s stance on memory-safe programming languages marks a significant moment in software development history. As the industry grapples with this recommendation, we&#8217;re likely to see a slow but steady evolution towards safer coding practices, balancing security needs with the practical realities of existing systems and developer expertise.<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fthe-c-conundrum-white-house-pushes-for-memory-safe-programming%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>In a surprising move, the Biden administration has taken a stance on software development practices, urging programmers to move away from languages like C and C++ in favor of memory-safe alternatives. This recommendation, coming from the White House Office of<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/the-c-conundrum-white-house-pushes-for-memory-safe-programming\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76],"tags":[],"class_list":["post-13272","post","type-post","status-publish","format-standard","hentry","category-coding"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/13272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=13272"}],"version-history":[{"count":1,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/13272\/revisions"}],"predecessor-version":[{"id":13273,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/13272\/revisions\/13273"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=13272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=13272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=13272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}