It’s all the fault of /u/nickpsecurity that I’m learning Ada. Their comments about it have been too enticing.
Haha. Im going to have to relearn it in future when I have time. Steep learning curve. Just take a step at a time focusing on subset of features it shares with other languages. Then especially look at various types it includes (esp uniqueness, interfaces or bounds checks) and contract system. Those are big differentiators.
Also, is quite verbose. The reason is it was designed to be read easier than written st a time without good IDE’s. It’s a drawback but mainly a holdover. I think an interesting Bachelor’s or Master’s project would be a new syntax for it that compiles to Ada. Also needs Rust’s borrow checker or a low-latency GC for sure.
Rust, meanwhile, could use some way to put in design-by-contract. I really hope they start to work that in.
That would be a good start. Follow up with SPARK-style subset of Rust that can feed code into a theorem prover showing it lacks certain defects. If code is dynamic, then it could be better than SPARK w/out a borrow checker just because temporal errors are really hard to find sometimes. That’s exactly the kind of headache tooling should help us avoid.