Comment by potato-peeler

1 day 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.

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.

  • I thought SPARK got dynamic memory allocation when it adopted Rust-style ownership and borrowing in 2014.

  • 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.

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