Est-ce que quelqu'un ici utilise régulièrement SpeC#? Je voudrais savoir si c'est assez stable et assez puissant avant de commencer à l'utiliser partout. Il semble que la syntaxe influence C# 4.0, ce qui, espérons-le, facilitera la mise à jour une fois que la version 4.0 sera disponible. Pensées?Est-ce que SpeC# est assez stable pour utiliser?
Répondre
Je suppose que cela dépend de ce que vous entendez par "stable". Il y a deux interprétations possibles:
- "pas écraser"
- "ne change pas"
Je ne sais pas # 1, mais si vous voulez dire # 2, puis, bien Spec#, a été abandonné et n'est plus en cours de développement, donc c'est probablement aussi stable que vous l'aurez.
Les techniques et les outils utilisés dans Spec# (l'outil d'analyse statique appelée Boogie et le théorème prouveur/contrainte solveur Z3) font maintenant partie d'une nouvelle bibliothèque appelée Code Contracts for .NET. Le résultat d'être une bibliothèque est que les contrats de code fonctionneront pour Langage .NET: C#, VB.NET, F #, Ruby, Python, JavaScript, Lisp, Smalltalk, Boo, vous l'appelez. L'inconvénient est que vous n'avez pas d'intégration linguistique, donc pas de bonne syntaxe pour les contrats.
Les contrats de code pour .NET feront partie de .NET 4.0/Visual Studio 2010, mais malheureusement, il n'y aura pas de support DbC dans aucune des langues de Microsoft.
Alors qu'est-ce qui vous fait dire que SpeC# a été abandonné? Je ne trouve aucune référence à cela ... – Lucero
Je ne me souviens pas si j'ai entendu cela sur un podcast, une vidéo de Channel 9 ou peut-être un article de blog. Fondamentalement, personne ne travaille plus sur SpeC#, car ils travaillent tous à temps plein sur la bibliothèque Code Contracts.NET maintenant. Il peut y avoir des corrections de bogues et des versions de maintenance pour SpeC#, mais il n'y en aura pas ... –
... il n'y aura pas de version de production (il est actuellement illégal d'utiliser SpeC# pour les projets commerciaux), et il n'y aura certainement pas de fonctionnalités C# 3.0 ou C# 4.0. Toute la technologie développée pour SpeC# se trouve maintenant dans les contrats de code. –
Utilisé partout? Seulement si c'est documenté, vous devriez prendre cette route. Ce n'est clairement pas le cas, ce qui indique qu'il s'agit d'un produit interne expérimental/axé sur la recherche. SpeC#, Sing #, C-Omega, F * il y en a pas mal comme ça. D'autre part, essayer quelque chose de Nemerle ou Boo sera de meilleures alternatives. – nawfal