2009-01-12 20 views
6

¿Alguien aquí utiliza el SpeC# regularmente? Me gustaría saber si es estable y lo suficientemente potente antes de que empiece a usarlo en todas partes. Parece que la sintaxis está influyendo en C# 4.0, lo que con suerte hará que sea más fácil actualizar una vez que se haya lanzado 4.0. ¿Pensamientos?¿La especificación # es lo suficientemente estable como para usarla?

+0

Úsala en todos lados? Solo si está documentado, debe tomar esa ruta. Claramente no es el caso, lo que indica que es un producto interno experimental/orientado a la investigación. SpeC#, Sing #, C-omega, F * hay bastantes como este. Por otro lado, para intentar algo, Nemerle o Boo serán mejores alternativas. – nawfal

Respuesta

11

Supongo que depende de lo que quiere decir con "estable". Hay dos interpretaciones posibles:

  1. "no chocar"
  2. "no cambiar"

No sé sobre # 1, pero si usted quiere decir # 2, entonces, bueno, Spec# ha sido abandonado y ya no se está desarrollando, por lo que es probable que sea tan estable como sea posible.

Las técnicas y herramientas que se utilizaron en Spec# (la herramienta de análisis estático llamado Boogie y el teorema de prover/restricción solucionador Z3) son ahora parte de una nueva biblioteca llamada Code Contracts for .NET. El resultado de ser una biblioteca es que Code Contracts funcionará para .NET idioma: C#, VB.NET, F #, Ruby, Python, JavaScript, Lisp, Smalltalk, Boo, lo que sea. La desventaja es que no obtiene integración de idioma, por lo que no hay una buena sintaxis para los contratos.

Los contratos de código para .NET formarán parte de .NET 4.0/Visual Studio 2010, pero desafortunadamente no habrá compatibilidad con DbC en ninguno de los idiomas de Microsoft.

+1

Entonces, ¿qué te hace decir que SpeC# fue abandonado? No puedo encontrar ninguna referencia a esto ... – Lucero

+0

No recuerdo si escuché eso en un podcast, un video de Channel 9 o tal vez una publicación de blog. Básicamente, ya nadie está trabajando en SpeC# porque ahora todos trabajan a tiempo completo en la biblioteca Code Contracts.NET. Puede haber correcciones de errores y versiones de mantenimiento para SpeC#, pero no habrá ninguna ... –

+0

... desarrollo adicional, no habrá una versión de producción (actualmente es ilegal usar SpeC# para proyectos comerciales), y seguramente no habrá ninguna característica de C# 3.0 o C# 4.0. Toda la tecnología desarrollada para SpeC# se encuentra ahora en Contratos de Código. –

Cuestiones relacionadas