Тип публикации: статья из журнала
Год издания: 2023
Идентификатор DOI: 10.18255/1818-1015-2023-1-40-62
Ключевые слова: programming languages, compilation, procedural-parametric programming, polymorphism, Multiple polymorphism, evolutionary software development, языки программирования, компиляция, процедурно-параметрическое программирование, полиморфизм, множественный полиморфизм, эволюционная разработка программного обеспечения
Аннотация: Разработка программного обеспечения зачастую связана с расширением функциональности. Для повышения надежности в этом случае необходимо минимизировать изменение ранее написанного кода. Для инструментальной поддержки эволюционной разработки программ была предложена процедурно-параметрическая парадигма программирования, что позволило Показать полностьюповысить возможности процедурного подхода. Это обеспечивает безболезненное расширение как данных, так функций, используя при этом статическую типизацию. В работе рассматривается включение процедурно-параметрического программирования в язык C. Предлагаются дополнительные синтаксические конструкции, ориентированные на поддержку предлагаемого подхода. К ним относятся: параметрические обобщения, специализации обобщений, обобщающие функции, обработчики специализаций. Описываются их семантика, возможности и особенности технической реализации. Для проверки возможностей использования данного подхода построены модели процедурно-параметрических конструкций на языке программирования C. Приведенный пример демонстрирует гибкое расширение программы и поддержку множественного полиморфизма. Software development is often about expanding functionality. To improve reliability in this case, it is necessary to minimize the change in previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm was proposed, which made it possible to increase the capabilities of the procedural approach. This allows to extend both data and functions painlessly. The paper considers the inclusion of procedural-parametric programming in the C language. Additional syntactic constructions are proposed to support the proposed approach. These constructions include: parametric generalizations, specializations of generalizations, generalizing functions, specialization handlers. Their semantics, possibilities and features of technical implementation are described. To check the possibilities of using this approach, models of procedural-parametric constructions in the C programming language were built. The example in the article demonstrates the flexible extension of the program and support of multiple polymorphism.
Журнал: Моделирование и анализ информационных систем
Выпуск журнала: Т. 30, № 1
Номера страниц: 40-62
ISSN журнала: 18181015
Место издания: Ярославль
Издатель: Ярославский государственный университет им. П.Г. Демидова