Live data from Hacker News

Ada and SPARK enter the automotive ISO-26262 market with Nvidia

adacore.com

81–90 of 113 posts

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#81
post #67

Earlier quoted context omitted.

I have worked on safety crucial systems and applications that interact with safety critical systems in a non safety critical language. Each time it never had anything to do with the language and everything to do with systems engineering and project management. The projects that were successful had excellent systems engineering and project management. Language choice was never a factor.

This is my experience as well. People need to ask themselves what benefits Rust would bring to an high assurance system (e.g. DO-178C Level A). You're not gonna want to malloc mid-flight even if you have a borrow checker. The entire point of e.g. DO-178C is to show that the software only does exactly what it is supposed to do under all assumptions and have any derived behavior fed back to the safety process for evalu…

Rust’s guarantees have little to nothing to do with malloc.

Ferrocene isn’t DO-178C certified… yet. But it has similar certifications in other industries.

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#82
post #80
post #77

Earlier quoted context omitted.

By letting the compilers decide the best way to implement them. Also I find funny this point of view on Ada, given the poor examples WG21 has added into the C++ standard library, that will never be fixed due to never-ending ABI drama.

Look. I'm not against Ada. Not my favorite language but definitely huge step in the right direction. With that said. How does: > By letting the compilers decide the best way to implement them. Get you to zero cost generics. What if implementor just says "let them eat memory" and boxes the generic.

By the same way std::regexp gives you zero cost abstractions in handling regular expressions in C++.

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#83
post #67

Earlier quoted context omitted.

This is my experience as well. People need to ask themselves what benefits Rust would bring to an high assurance system (e.g. DO-178C Level A). You're not gonna want to malloc mid-flight even if you have a borrow checker. The entire point of e.g. DO-178C is to show that the software only does exactly what it is supposed to do under all assumptions and have any derived behavior fed back to the safety process for evalu…

Rust’s guarantees have little to nothing to do with malloc. Ferrocene isn’t DO-178C certified… yet. But it has similar certifications in other industries.

And it never will be. In aviation we certify three things: aircraft, engines and propellers. Everything else is at best certifiable, i.e. can be integrated into a product to be certified assuming all deviations, restrictions, caveats etc are considered when doing so.

Also, tools follows DO-330 and are qualified. It's their output that should comply with DO-178.

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#84
post #25
post #24

Earlier quoted context omitted.

Wasn't a correlation with elderly drivers and the unintended accretion found in the Toyota cases?

How about a difference between Toyotas and non-Toyotas? It's not like elderly drivers are unique to Toyotas. Also, unintended acceleration seems to have gone away. The control hardware has been changed; driver age, not so much.

References?

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#85
post #83

Earlier quoted context omitted.

Rust’s guarantees have little to nothing to do with malloc. Ferrocene isn’t DO-178C certified… yet. But it has similar certifications in other industries.

And it never will be. In aviation we certify three things: aircraft, engines and propellers. Everything else is at best certifiable , i.e. can be integrated into a product to be certified assuming all deviations, restrictions, caveats etc are considered when doing so. Also, tools follows DO-330 and are qualified . It's their output that should comply with DO-178.

Sure, yes, I always end up saying “certified” instead of “qualified” for some reason. Thanks.

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#86
post #84
post #25

Earlier quoted context omitted.

How about a difference between Toyotas and non-Toyotas? It's not like elderly drivers are unique to Toyotas. Also, unintended acceleration seems to have gone away. The control hardware has been changed; driver age, not so much.

References?

https://capitolweekly.net/toyota-has-settled-hundreds-of-sud...

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#87
post #41

Earlier quoted context omitted.

I don't think a single point there is true. Ada has had shared aliases since 1995. Its had zero cost abstractions since before then. Slicing memory from a string is in the intro manual, for example. my_var(2 .. 6) Ada doesn't rely on you to be disciplined. [0] Memory safety comes with SPARK. Its a theorum prover. [0] https://blog.adacore.com/memory-safety-in-ada-and-spark-thro...

But doesn't this copy the entirety of that slice? That's not what I meant, I was referring to a shared reference, akin to &str in Rust or std::string_view in C++.

It's a slice, with basically the same implementation as std::string_view. [0]

If you want a copy, with Unbounded String, you'll need to call To_String on the slice.

[0] https://sites.radford.edu/~nokie/classes/320/std_lib_html/ad...

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#88

Earlier quoted context omitted.

But doesn't this copy the entirety of that slice? That's not what I meant, I was referring to a shared reference, akin to &str in Rust or std::string_view in C++.

Doing it normally should create a copy of the value, as far as I can tell. Unless you use it to create a renamed variable or by-reference parameter, the same way you can create references in C++. I think the closest thing to a &str in Ada would be an "access String" or "access constant String", which you would get either from an allocated "String" or from a declared "aliased String". You'd create a subslice with "str…

That's for String, not the referenced Unbounded String.

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#89
post #67

Earlier quoted context omitted.

This is my experience as well. People need to ask themselves what benefits Rust would bring to an high assurance system (e.g. DO-178C Level A). You're not gonna want to malloc mid-flight even if you have a borrow checker. The entire point of e.g. DO-178C is to show that the software only does exactly what it is supposed to do under all assumptions and have any derived behavior fed back to the safety process for evalu…

I personally know of teams using modern tooling and expansive cloud based CI/CD with safety critical systems and we are talking hundreds of developers. This is in C++ with MISRA standards and DO-178 too.

I don't think it's fair to say C++ is safe and reliable as is. The only way it could be made safe is with a restricted version of C++.

I'm reminded by mozilla's sign "You must be this tall to write threaded code." [1] How much do you restrict your language and libraries to make it safe? Like custom templates? How do you define ownership of objects and lifetimes -- or just malloc everything all at once?

[1] https://bholley.net/blog/2015/must-be-this-tall-to-write-mul...

Re: Ada and SPARK enter the automotive ISO-26262 market with Nvidia

#90

Earlier quoted context omitted.

And you think enthusiasts of niche languages like Ada, will be more skilled and less elitist than C++ devs?

I think I'm tired, after 20+ years of being around the language, of hearing C++ developers tell people "they're holding it wrong" every time something blows up. Blaming the victim. C++ is a language seemingly designed with footguns built in on purpose. Even worse it has a community full of elitism and obscurantism. Rust isn't perfect (I have my gripes), but it has the right idea with ownership management at the stati…

> Even worse it has a community full of elitism and obscurantism.

I've never experienced that per se, I have experienced it in other fields or orgs where the bar to entry is super high. And keeping the bar to entry is often the goal of those that are elitist. Google interviews were that way 15 years ago.

I think the issue I keep coming back to with type safety is how do you make sure a value in meters is not mistakenly used as feet without some kind of translation. If you're going to have type safety, I feel the language should prevent that.

And if it can't prevent that, then it's not really "typesafe".

Post reply on HN