| Класс языка: |
мультипарадигменный: структурный, императивный, объектно-ориентированный, событийно-ориентированный, функциональный, контрактный |
|---|---|
| Появился в: |
2004 |
| Автор(ы): | |
| Релиз: |
1.0.21125 |
| Типизация данных: | |
| Испытал влияние: | |
| Повлиял на: | |
| Сайт: |
Spec# website |
Spec# — язык программирования с поддержкой особенностей языка спецификаций, расширяющих возможности языка программирования C# Эйфелеподобным контрактным программированием, включая объектные инварианты, предусловия и постусловия. Как и ESC/Java, язык содержит инструмент статической проверки, основанный на доказательстве теоремы, позволяющее статически проверять большинство таких инвариантов. Также он включает в себя множество других не столь значимых дополнений, как например, ненулевые ссылочные типы.
Microsoft Research разработала оба языка Spec# и C#; в свою очередь, Spec# послужил основой для создания языка Sing#, разработанный также Microsoft Research.
Содержание |
Данный пример демонстрирует две базовые структуры, используемые при добавлении контрактов в ваш код.
static void Main(string![] args)
requires args.Length > 0
{
foreach(string arg in args)
{
Console.WriteLine(arg);
}
}
| Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |