Remix.run Logo
potato-peeler 10 hours ago

Not the case with spark. But I understand it requires writing lot of things from scratch for browsers. But I don’t think portability will be an issue with Ada, it is cross platform.

However, this is where d shines. D has a mature ecosystem. Offers first class cpp abi and provides memory safety guarantees, which the blog mentioned as a primary factor. And d is similar to cpp, low barrier for cpp devs to pick up.

tgv 10 hours ago | parent [-]

There's no dynamic memory allocation with (100%) Spark. That's really limiting. You can to write "unsafe" code, but that has the same problems as Ada.

Findecanor 19 minutes ago | parent | next [-]

I know most SPARK projects use it only for a subset of the code base, with regular Ada for the rest, but I thought SPARK itself got dynamic memory allocation when it adopted Rust-style ownership and borrowing.

potato-peeler 9 hours ago | parent | prev | next [-]

That is true for parsers like libjs, but again crypto module or even networking, can still be written in spark, which is much more safety critical.

Rochus 9 hours ago | parent | prev [-]

SPARK is not used for the whole system, but for the < 5% parts, which are safety/security-related in a good architecture.