Spec Sharp | это... Что такое Spec Sharp? (original) (raw)

Правильный заголовок этой статьи — Spec#. Он показан некорректно из-за технических ограничений.

Spec#

Класс языка: мультипарадигменный: структурный, императивный, объектно-ориентированный, событийно-ориентированный, функциональный, контрактный
Появился в: 2004
Автор(ы): Microsoft Research
Релиз: 1.0.21125
Типизация данных: статическая, строгая, типобезопасная, номинативная
Испытал влияние: C#, Эйфель
Повлиял на: Sing#
Сайт: 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);
    }
}

Источники

См. также

Дополнительные источники

Просмотр этого шаблона .NET Framework
Архитектура Base Class LibraryCommon Language Infrastructure.NET assemblyметаданныеCOM Interop
Инфраструктура Common Language RuntimeCommon Type SystemCommon Intermediate Language • Virtual Execution System • Dynamic Language Runtime
Языки Microsoft C#Visual Basic .NETC++/CLI (Managed) • Visual J#JScript .NETWindows PowerShellIronPythonIronRubyF#Spec#Sing#
Другие языки A#Boo • IronLisp • L# • NemerleP#PascalABC.NETPHPScalaCobra • Delphi Prism
Windows Foundations PresentationCommunicationWorkflow
Компоненты ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL)
Реализации DotGNUMono.NET Compact Framework (Xbox 360) • .NET Micro FrameworkPortable.NETXNA FrameworkSilverlight • Shared Source Common Language Infrastructure
Сравнения C# и Java • C# и Visual Basic .NET
Будущие технологии Acropolis • Jasper