2009-01-12 21 views
6

Burada # biri düzenli olarak # kullanan var mı? Her yerde kullanmaya başlamadan önce, kararlı ve güçlü olup olmadığını bilmek isterim. Sözdizimi C# 4.0'u etkiliyor gibi görünüyor, bu da 4.0 sürümünün bir kez daha yükseltilmesini kolaylaştıracaktır. Düşünceler?SpeC# kararlı kullanım için yeterli mi?

+0

Her yerde kullanın? Sadece belgelendiyse, o rotayı almalısınız. Açıkçası, deneysel/araştırmaya yönelik bir şirket içi ürün olduğuna işaret eden durum böyle değildir. SpeC#, Sing #, C-omega, F * gibi birkaç tane var. Öte yandan bir şey denemek için Nemerle veya Boo daha iyi alternatifler olacak. – nawfal

cevap

11

Sanırım "kararlı" dan ne demek istediğine bağlı. İki olası yorumların vardır:

  1. "değişmiyor" "çökmesini değil"

Ben yaklaşık 1. biliyorum ama yok sen Spec# ardından 2., iyi demek eğer terk edilmiş ve artık geliştirilmiyor, bu yüzden muhtemelen alacağın kadar istikrarlı.

Spec# içinde (Boogie denilen statik analiz aracı ve teoremi prover/kısıtlamasını çözücü Z3) kullanıldı teknikleri ve araçları şimdi Code Contracts for .NET adlandırılan yeni kütüphane parçasıdır. Bir kütüphane olmanın vurgusu, Kod Sözleşmelerinin için herhangi bir .NET dili: C#, VB.NET, F #, Ruby, Python, JavaScript, Lisp, Smalltalk, Boo için çalışacağıdır. Olumsuz tarafı, dil entegrasyonu almamanız, dolayısıyla sözleşmeler için güzel bir sözdizimi olmamasıdır.

.NET için Kod Sözleşmeleri, .NET 4.0/Visual Studio 2010'un bir parçası olacak, ancak ne yazık ki Microsoft'un dillerinde DbC desteği olmayacak.

+1

Peki, SpeC#'un terk edildiğini söyleyen nedir? Buna bir referans bulamıyorum ... – Lucero

+0

Bunu bir podcast, bir Channel 9 videosu veya bir blog yazısı olarak duyup duymadığımı hatırlamıyorum. Temel olarak, hiç kimse artık # Spec üzerinde çalışıyor, çünkü hepsi Code Contracts.NET kütüphanesinde tam zamanlı çalışıyorlar. SpeC# için hata düzeltmeleri ve bakım sürümleri olabilir, ancak herhangi bir gelişme olmayacaktır ... –

+0

... Daha fazla geliştirme, bir üretim sürümü olmayacaktır (şu anda ticari projeler için SpeC# kullanımı yasa dışıdır), ve orada kesinlikle C# 3.0 veya C# 4.0 özellikleri olmayacak. SpeC# için geliştirilen tüm teknoloji şimdi Kod Sözleşmelerde. –

İlgili konular