Не случайно функции и процедуры похожи на программы в миниатюре. Язык Паскаль спроектирован таким образом, что подпрограммы могут рассматриваться как независимые объекты, работа которых не зависит от основной программы. Как следствие наличие функций и процедур позволяет проектировать и конструировать программы модульным, структурированным способом.
Наиболее важное преимущество модульности, даваемое подпрограммами, — это возможность уменьшить число повторений одной и той же последовательностей операторов. В очень больших или средних по размеру программах существует по крайней мере несколько процессов, выполнение которых повторяется в различных частях программы. Было бы неразумно в программе выполняющей тригонометрические преобразования, вычислять ARCSIN в десятках различных мест. Описание функции — гораздо более простое решение.
Использование подпрограмм делает процесс программирования более систематическим и регулируемым по нарастанию сложности. Благодаря использованию подпрограмм программист может рассматривать программу как набор более мелких компонентов, которые проектируются отдельно.
Учитывая сложность программ, этот эффект является более полезным, чем может показаться на первый взгляд. Начиная с простейшего описания функций программы, можно постепенно разбивать программу на отдельные задачи, которые в свою очередь могут быть реализованы как объединение функций и процедур.
Как видим, использование функций и процедур является естественным дополнением к технике программирования, позволяющим создавать качественные программы. Выделение задач улучшает наглядность программ, а используя продуманные названия для функций и процедур, программист может выработать более наглядный стиль написания программ.