|
СЕМИНАРЫ |
Российский гибридный семинар STEP-2023 по фундаментальным вопросам программной инженерии
теории и экспериментальному программированию
|
|||
|
Процедурно-параметрический полиморфизм и его интеграция с языком программирования 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 |