{"id":1087,"date":"2026-03-16T17:47:22","date_gmt":"2026-03-16T06:47:22","guid":{"rendered":"https:\/\/www.reefwing.com.au\/?p=1087"},"modified":"2026-03-27T16:31:02","modified_gmt":"2026-03-27T05:31:02","slug":"what-the-f-35-can-teach-us-about-writing-safer-embedded-c","status":"publish","type":"post","link":"https:\/\/www.reefwing.com.au\/?p=1087","title":{"rendered":"What the F-35 can Teach us about Writing Safer Embedded C++"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0-1024x574.png\" alt=\"\" class=\"wp-image-1088\" srcset=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0-1024x574.png 1024w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0-300x168.png 300w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0-768x430.png 768w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_A_dramatic_high-contrast_technical_illustration_of_a_5ed059d5-62f6-4507-9a60-33be50b78db8_0.png 1456w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p id=\"0b51\">We recently came across the&nbsp;<strong>Joint Strike Fighter Air Vehicle C++ Coding Standards<\/strong>&nbsp;for the F-35 program. This was published by Lockheed Martin many years ago, but it contains some useful guidelines for coding C++ on embedded systems. The number one objective for the document was, the software must not fail.<\/p>\n\n\n\n<p id=\"0202\">Although written for military aircraft, the philosophy behind these rules applies directly to modern embedded systems. If you are building firmware for medical devices, robotics, automotive systems, or industrial control, this distilled guide captures the most practical lessons for your own C++ standards.<\/p>\n\n\n\n<p id=\"8710\">Our position on guidelines is that they need tailored for the application. Guidelines exist to reduce risk. The level of restriction they impose should match the level of consequence in the system. In life-critical systems the cost of failure is too high to optimise for elegance. If you are going to ignore a guideline, you had better know what you are doing. Coding standards should scale with the risk, and breaking a rule should always be an informed decision rather than an act of convenience.<\/p>\n\n\n\n<p><a href=\"https:\/\/levelup.gitconnected.com\/what-the-f-35-can-teach-us-about-writing-safer-embedded-c-e67ebb4955e7\">Read More&#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We recently came across the&nbsp;Joint Strike Fighter Air Vehicle C++ Coding Standards&nbsp;for the F-35 program. This was published by Lockheed Martin many years ago, but it contains some useful guidelines for coding C++ on embedded systems. The number one objective for the document was, the software must not fail. Although written for military aircraft, the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[49,45,6],"tags":[69],"class_list":{"0":"post-1087","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","7":"category-embedded","8":"category-title-post","9":"tag-embedded-ai","10":"entry"},"_links":{"self":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/posts\/1087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1087"}],"version-history":[{"count":1,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/posts\/1087\/revisions"}],"predecessor-version":[{"id":1089,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/posts\/1087\/revisions\/1089"}],"wp:attachment":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}