Spec-Sharp

Spec-Sharp
Icon falscher Titel.svg Der korrekte Titel dieses Artikels lautet „Spec#“. Diese Schreibweise ist aufgrund technischer Einschränkungen nicht möglich.
Spec#
Paradigmen: Objektorientierte Programmiersprache
Entwickler: Microsoft Research
Aktuelle Version: 1.0.21125  (26. November 2008)
Typisierung: stark
Einflüsse: C#
Betriebssystem: alle mit CLR
research.microsoft.com/SpecSharp

Spec# ist eine von Microsoft Research entwickelte objektorientierte Programmiersprache, die eine Erweiterung zum etablierten C# ist. Sie ist kostenlos und u.a. für die Entwicklungsumgebungen Microsoft Visual Studio 2003, 2005 und 2008 verfügbar und bildet zusätzlich den Grundstock für Sing#. Diese Sprache wurde für das Projekt Singularity entwickelt.

Inhaltsverzeichnis

Konzept

Spec# ist eine Erweiterung von C# um Vorbedingungen, Nachbedingungen, Non-Null-Types und Objektinvarianzen. Die Methodenbedingungen werden durch Kontrakte abgebildet und erweitern damit die Metabeschreibung eines Objekts. Zusätzlich werden Checked Exceptions implementiert. Die Erweiterungen sind durch den Spec#-Compiler möglich. Für die Absicherung wurde ein Theorembeweiser mit dem Codenamen Boogie implementiert.

Programmierbeispiel

Die folgenden Zeilen geben einen kleinen Einblick in den Aufbau und die Verwendung von Spec#. Hierbei handelt es sich um den Start-Quelltext, der von Visual Studio 2005 über den Projekt-Wizard für eine Konsolenanwendung generiert wird:

using System;

public class Program
{
    static void Main(string![]! args) 
      // The following precondition is redundant with the type
      // signature for the parameter, but shown here as an example.
    requires forall{int i in (0:args.Length); args[i] != null};
    {
        Console.WriteLine("Spec# says hello!");
    }
}

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Spec Sharp — Spec# is a programming language with specification language features that extends the capabilities of the C# programming language with Eiffel like contracts, including object invariants, preconditions and post conditions. Like ESC/Java, it… …   Wikipedia

  • Spec Sharp — Эта статья или раздел  грубый перевод статьи на другом языке (см. Проверка переводов). Он мог быть сгенерирован программой переводчиком или сделан человеком со слабыми познаниями в языке оригинала. Вы можете помочь …   Википедия

  • Spec — steht für: Standard Performance Evaluation Corporation Spec steht für: Spezifikation (von engl. specification) spec. steht für: eine nicht näher bezeichnete Spezies in der biologischen Systematik als Zusatz hinter dem wissenschaftlichen Namen der …   Deutsch Wikipedia

  • C Sharp syntax — The correct title of this article is C# syntax. The substitution or omission of the # sign is because of technical restrictions. Main article: C Sharp (programming language) This article describes the syntax of the C# programming language. The… …   Wikipedia

  • C Sharp — Dieser Artikel behandelt die Programmiersprache C#. In der Musik bezeichnet C# (bzw. C♯) den Ton Cis. C# Paradigmen: strukturiert, imperativ, objektorientiert, funktional Erscheinungsjahr …   Deutsch Wikipedia

  • Sing Sharp — Правильный заголовок этой статьи  Sing#. Он показан некорректно из за технических ограничений. Sing# Класс языка: мультипарадигменный: структурный, императивный, объектно ориентированный, событийно ориентированный, функциональный,… …   Википедия

  • C Sharp (programming language) — The correct title of this article is C# (programming language). The substitution or omission of the # sign is because of technical restrictions. C# Paradigm(s) multi paradigm: structured, imperative …   Wikipedia

  • C Sharp — У этого термина существуют и другие значения, см. C. Правильный заголовок этой статьи  C#. Он показан некорректно из за технических ограничений. C# Семантика: императивный Класс языка: мультипарадигменный: объектно ориентированный,… …   Википедия

  • Sing Sharp — Sing# is a concurrent programming language that is a superset of the Spec# programming language; in turn, Spec# is an extension of the C# programming language. Microsoft Research developed Spec#, and later extended it into Sing# in order to… …   Wikipedia

  • Comparison of C Sharp and Java — The correct title of this article is Comparison of C# and Java. The substitution or omission of the # sign is because of technical restrictions. Programming language comparisons General comparison Basic syntax Basic instructions …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”