December 7, 2025
Dogfight in the comments
F-35 Fighter Jet's C++ Coding Standards [pdf]
F-35’s old C++ rulebook drops—Ada vs C++ brawl and “where’s security”
TLDR: The F‑35’s 2005 C++ coding standards PDF resurfaced, revealing strict rulebook‑style guidance for jet software. Commenters spar over why C++ beat Ada, worry that “security” barely appears, and point to the jet’s software hiccups—turning a dry manual into a lively debate on safety and choices in critical systems.
A 2005 “how to code a fighter jet” PDF just resurfaced, and the internet is treating it like found footage from the cockpit. The F‑35’s C++ rulebook—packed with shall/should commandments, header file rituals, and stern naming rules—landed to a chorus of side‑eye. One commenter opened with a gatekeeper’s flourish: read a classic programming book first, then come back. Another hit the panic button with “CTRL+F security,” implying the word barely pops up. Cue jokes about “This page intentionally left blank” being the most relatable section.
The hottest flame war? Why C++ over Ada, a language long rumored as the military’s safety darling. One voice asks bluntly why Ada was ditched; old‑schoolers say Ada was the defense gold standard, while pragmatists argue C++ had more tools and talent by 2005. Then a bombshell: someone claims the F‑35’s software track record includes “extremely problematic” failures leading to ejections. Meanwhile, a helpful hero drops a video highlight reel, turning the doc into popcorn material. The mood is half nostalgia, half anxiety, and all snark—an air‑to‑air code dogfight where “rules” meet reality, and everyone’s asking if the checklist for jet software forgot to include the word security.
Key Points
- •A 2005 JSF Air Vehicle document sets C++ coding standards for the System Development and Demonstration program (Doc. No. 2RDU00001 Rev C).
- •The standards cover general design principles, including coupling/cohesion and limits on code size and complexity.
- •Rule definitions categorize requirements as “Should,” “Will,” and “Shall,” with guidance on breaking rules and documenting exceptions.
- •Environment specifications include language (C++), character sets, and run-time checks to ensure consistency and safety.
- •Detailed guidance is provided for standard libraries, preprocessor directives, header/implementation files, and naming/style conventions.