Дизайн и эволюция C# на примере свойств

Язык программирования – средство выражения проблем предметной области и от уровня понимания этого средства программистом напрямую зависит простота, декларативность, краткость и лаконичность решений. Работая в области IDE-инструментов, простота и лаконичность пользовательского кода и представляют собой предметную область, что обязывает разработчика инструментария постоянно помнить все тонкости и проблемы языка, уметь формализовать общепринятые практики и помочь пользователю IDE обойти проблемные стороны языка.


Идея этого доклада возникла из повседневной задач разработчика IDE – поддержки языка C# версии 6.0, вошедшего в состав Visual Studio 2015. Усовершенствования языка, касающиеся распространенного языкового средства – деклараций свойств – оказались внезапно сложными в поддержке и крайне влияющими на имеющиеся автоматические рефакторинги кода, что потребовалось глубоко разобраться в большинстве особенностей свойств C#. Предлагаю вам поразмышлять над этим "повседневным" языковым средством, в деталях проследить развитие свойств начиная с версии 1.0 языка C#, задуматься над проблемами дизайна C# и взглянуть на свойства глазами разработчика IDE.

Александр Шведов

Александр Шведов

Разработчик в компании JetBrains, более 4 лет занимаюсь поддержкой языков C# и XAML в известном .NET-программистам продукте, расширении для Microsoft Visual Studio – ReSharper. Профессиональные интересы: дизайн языков программирования, анализы и трансформации программ, функциональное программирование.

×