RUS  ENG
Полная версия
СЕМИНАРЫ



Процедурно-параметрический полиморфизм и его интеграция с языком программирования C

А. И. Легалов



Аннотация: Разработка больших программ часто связана с инкрементальным расширением уже написанного кода. При этом встречаются ситуации, когда альтернативные программные объекты формируются во время выполнения. В этом случае для их идентификации и последующей обработки используется либо явная проверка типа, либо один из методов динамического полиморфизма, предоставляемый тем или иным языком программирования. Расширение программы за счет новых альтернатив, добавляемых в ходе разработки, может привести к модификации уже написанного кода. В этих случаях для минимизации изменений вместо явной проверки типов обычно применяются методы динамического полиморфизма. Из них к широко известным можно отнести ОО полиморфизм, использование интерфейсов в Go и типажей в Rust. Процедурно-параметрический полиморфизм является альтернативным подходом. Рассматриваются его особенности и интеграция с языком программирования C. Представлены дополнительные синтаксические конструкции, ориентированные на поддержку подхода, их возможности и варианты реализации. Приводятся примеры эволюционного расширения кода для простых ситуаций демонстрирующие большую гибкость по сравнению с существующими подходами. Также рассматривается моделирование паттернов проектирования, повышение надежности за счет обертки над ненадежными языковыми конструкциями языка C.
Есть рабочие записи на YouTube-канале ИСИ СО РАН (https://youtu.be/PYWYmKThIYw) и презентация доклада (https://persons.iis.nsk.su/files/persons/pages/legalov29may24.pdf).

Website: https://persons.iis.nsk.su/en/STEP-2024


© МИАН, 2024