Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Spec# stable enough to use? [closed]

Does anyone here use Spec# regularly? I would like to know if it is stable and powerful enough before I start using it everywhere. It looks like the syntax is influencing c# 4.0, which will hopefully make it easier to upgrade once 4.0 is released. Thoughts?

like image 774
cbp Avatar asked Jan 12 '09 23:01

cbp


1 Answers

I guess it depends on what you mean by "stable". There are two possible interpretations:

  1. "not crashing"
  2. "not changing"

I don't know about #1, but if you mean #2, then, well, Spec# has been abandoned and is no longer being developed, so that's probably as stable as you're gonna get.

The techniques and tools that were used in Spec# (the static analysis tool called Boogie and the theorem prover / constraint solver Z3) are now part of a new library called Code Contracts for .NET. The upshot of being a library is that Code Contracts will work for any .NET language: C#, VB.NET, F#, Ruby, Python, JavaScript, Lisp, Smalltalk, Boo, you name it. The downside is that you get no language integration, so no nice syntax for contracts.

Code Contracts for .NET will be part of .NET 4.0 / Visual Studio 2010, but unfortunately there will be no DbC support in any of Microsoft's languages.

like image 74
Jörg W Mittag Avatar answered Sep 29 '22 02:09

Jörg W Mittag