Класс языка: |
мультипарадигменный: структурный, императивный, объектно-ориентированный, событийно-ориентированный, функциональный, контрактный |
---|---|
Появился в: |
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); } }
Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |