2009-01-12 14 views
6

Verwendet jemand hier SpeC# regelmäßig? Ich würde gerne wissen, ob es stabil und stark genug ist, bevor ich es überall benutze. Es sieht so aus, als ob die Syntax C# 4.0 beeinflusst, was es hoffentlich einfacher macht, ein Upgrade durchzuführen, sobald 4.0 veröffentlicht ist. Gedanken?Ist SpeC# stabil genug für die Verwendung?

+0

Überall verwenden? Nur wenn es dokumentiert ist, sollten Sie diesen Weg nehmen. Das ist eindeutig nicht der Fall, was darauf hindeutet, dass es sich um ein experimentelles/forschungsorientiertes Inhouse-Produkt handelt. SpeC#, Sing #, C-Omega, F * es gibt einige davon. Auf der anderen Seite, um etwas auszuprobieren, werden Nemerle oder Boo bessere Alternativen sein. – nawfal

Antwort

11

Ich denke, es hängt davon ab, was Sie mit "stabil" meinen. Es gibt zwei mögliche Interpretationen:

  1. "Absturz nicht"
  2. "nicht ändern"

ich weiß nicht, # 1, aber wenn du meinst # 2, dann, na ja, Spec# wurde aufgegeben und wird nicht mehr weiterentwickelt, also ist das wahrscheinlich so stabil, wie du es bekommen wirst.

Die Techniken und Werkzeuge, die in Spec# (das statische Analysewerkzeug Boogie und Theorembeweisers/Constraintlöser Z3 genannt) sind nun Teil einer neuen Bibliothek namens Code Contracts for .NET verwendet wurden. Das Ergebnis davon, eine Bibliothek zu sein, ist, dass Code Contracts für beliebige .NET Sprache: C#, VB.NET, F #, Ruby, Python, JavaScript, Lisp, Smalltalk, Boo funktionieren, Sie nennen es. Der Nachteil ist, dass Sie keine Sprachintegration bekommen, also keine nette Syntax für Verträge.

Code Contracts für .NET wird Teil von .NET 4.0/Visual Studio 2010 sein, aber leider wird es keine DbC-Unterstützung in einer der Sprachen von Microsoft geben.

+1

Was also sagt man, dass SpeC# aufgegeben wurde? Ich kann keinen Hinweis darauf finden ... – Lucero

+0

Ich kann mich nicht erinnern, ob ich das auf einem Podcast, einem Channel 9 Video oder vielleicht einem Blog Post gehört habe. Im Grunde arbeitet niemand mehr an SpeC#, weil sie alle Vollzeit in der Code Contracts.NET-Bibliothek arbeiten. Es könnte Bugfixes und Wartungs-Releases für SpeC# geben, aber es wird keine ... –

+0

... weitere Entwicklung geben, es wird keine Produktionsversion geben (derzeit ist es illegal, SpeC# für kommerzielle Projekte zu verwenden), und es wird sicherlich keine C# 3.0 oder C# 4.0 Features geben. Die gesamte Technologie, die für SpeC# entwickelt wurde, befindet sich jetzt in Code Contracts. –

Verwandte Themen