Hacker News new | ask | show | jobs
by billfruit 2603 days ago
Though article isn't about software development in the aviation industry, a few thoughts on that:

The industry is really slow to change its practices and tools. Like the use of C for most software, I do feel a more safer language out to be preferred.

Use of 1553 bus for inter device communication, the bus and protocol aren't general, it is very opinionated/rigid about the manner in which communication should happen. And the hardware parts for it are horrendously expensive compared to most ethernet, IP equipment. There is an aviation ethernet standard, but adoption of it has been slow.

2 comments

>The industry is really slow to change its practices and tools. Like the use of C for most software, I do feel a more safer language out to be preferred.

And what language would that be, where it has absolute determinism (which rules out anything with GC)?

They tried using Ada years ago for avionics. The problem here is that no one knows Ada any more, and no one really wants to make a career out of it since it isn't used anywhere else.

So, in practice, C and (a narrow subset of) C++ get used. Maybe Rust would be a good choice in the future.

it is very opinionated/rigid about the manner in which communication should happen

This could be a strong factor in its popularity. If things must happen in a certain order, then the behavior of the system becomes easier to verify. Ease of verification should never be understated in safety-critical systems.

Yet the industry uses largely the C language, which isn't a model for safety or ease of verification.
It is, compared to other languages, because it's simple and deterministic. The #1 most important thing with avionics systems and software is determinism. That's why they even disable CPU caches on avionics systems.
Well, nobody's perfect ;-)