Мотивация и дизайн концептов с ограничениями подтипирования для языка программирования C#.


Мотивация и дизайн концептов с ограничениями подтипирования для языка программирования C#.

Белякова Юлия (аспирант мехмата ЮФУ). Начало семинара - 21 января 2015 г.

Концепты С++, предложенные в качестве замены шаблонов, представляют собой механизм обобщённого программирования на основе явных ограничений. Механизм явных ограничений на параметры обобщённого кода широко применяется в обобщённом программировании, примером являются интерфейсы Java и C#. Однако, было показано, что возможности интерфейсов уступают концептам C++. Первая часть доклада посвящена анализу интерфейсов C#: обсуждаются слабые места интерфейсов как механизма ограничений на параметры обобщённого кода (как уже известные, так и сформулированные авторами), а также рассматривается первоначальная роль интерфейсов как типов. Во второй части доклада представлен дизайн C++-подобных концептов, адаптированных к языку C#. Отличительными особенностями таких концептов являются ограничения подтипирования и анонимные модели. Предлагается совместное применение концептов и интерфейсов в C#: концепты позволяют значительно улучшить механизм ограничений на параметры обобщённого кода, при этом сохраняя возможность использовать интерфейсы, в том числе обобщённые, как типы. Последняя часть доклада посвящена возможному способу реализации механизма концептов в C# через трансляцию в базовый язык. Обсуждается значение и некоторые аспекты задачи восстановления кода на расширенном языке.

Семинар группы

Технологии программирования

Перейти к списку семинаров ИСП РАН