← Back to context

Comment by DaiPlusPlus

2 years ago

Microsoft Research, though it has a reputation for coming up with great ideas that somehow never end-up in a shipping Microsoft product.

Thanks, I've found some of their design guidelines have legitimately changing my worldview (eg situational disabilities).

For some that's a plus!

  • For me a negative:

    If I remember correctly, MSR worked on a practical implementation of Code-Contracts for C# which incorporated the (all-important) compile-time verification of method preconditions, postconditions, and class invariants (without the need for hand-written refinement-types, which is how we do things today): as I understand it, the compile-time part of system could support any assertion represented as a pure-function - think of it as C#'s take on Ada's assertions, improved tenfold, and it even shipped for a now-unsupported older version of C# and .NET: https://learn.microsoft.com/en-us/dotnet/framework/debug-tra...

    ...and it was axed in .NET Core back in 2016 and hasn't been seen since: https://github.com/microsoft/CodeContracts/issues/409

    Had Microsoft put more backing behind it, then C# could present itself as a language to supplant Ada in safety-critical applications, and replace C/C++ in other applications.

    I have hope the feature will come back one-day - there are whole slews of bugs that can be eliminated (such as when passing EF entity types around with unintentionally null member-properties).