I re-wrote the Central Maintenance System (portion inside the FMS) in C from scratch because no one had the original detailed design documents. The original -400 code was written in Pascal if I'm remembering correctly. I gleamed what I could from the source and relied on unit tests to get the rest of the way there based on what I knew of the protocol itself.
The entire FMS software was completely re-written in C++ and using modern object oriented patterns (at the time). Probably the most fun I've had over my now 20'ish year career. Of course Boeing was pissed with the delays this caused because the airframe wasn't a major change. I'll quote a Boeing (from MD originally) executive as saying "Meeting this project deadline is more important than your child dying."
Sadly this was also the time I remember Boeing's engineering ranks began to thin out. Personal opinion, this was a large part of what led to the MAX situation.