Разработка программ зачастую связана с инкрементальным расширением функциональности. Повышение надежности и качества в этом случае могут быть достигнуты минимизацией изменений в уже написанном коде. Для инструментальной поддержки эволюционной разработки предложен процедурно–параметрический подход к программированию, расширяющий возможности процедурного подхода. Он обеспечивает безболезненное расширение как данных, так функций, используя при этом статическую типизацию. В работе рассматривается реализация поддержки включения процедурно–параметрических механизмов в язык программирования C, широко используемый в системном программировании. Предлагаются решения, ориентированные на эффективную поддержку процедурно–параметрического полиморфизма. К конструкциям, обеспечивающим данный полиморфизм относятся: параметрические обобщения, специализации обобщений, обобщающие функции, обработчики специализаций. Рассматриваются возможности оптимизации дополнительного кода как на стороне компилятора, так и на стороне компоновщика. Описаны ситуации, при которых возможно повышение гибкости процесса разработки и надежности программ за счет использования процедурно–параметрического полиморфизма.