Что получилось.
Рутина - это алгоритм. By def.
Но не самого общего вида, а с некоторым набором свойств, который проистекает из свойств исполнителя.
Мне показалось, что тот набор свойств алгоритма, который я указала (besm6 обозвал его "школьным", пусть так и будет), наиболее похож на то, что происходит на самом деле.
Я не утверждаю, что он весь верный, и что он полный. Он сойдет для первой итерации.
Чтобы понять, какими свойствами обладает рутина как алгоритм, надо думать о свойствах исполнителя.
Да, рутина - такой алгоритм, который может целиком выполняться "мимо осознания". В тот момент, когда надо обработать какое-то исключение, мы из него вылетаем.
О понятности спорить не будем. Она, кажется, есть в любом определении :)
Я сейчас уверена в важности конечности и результативности. Пожалуй, уверена в дискретности.
С детерминированностью могут быть танцы. Универсальность явно ограничена.
Да, в демагогии я не сильна. И мне сейчас важнее получить некоторую рабочую модель, чем вылизать ее описание до состояния "не придерешься". Если модель не развалится, можно будет повылизывать.
PS Я имела дело с заметной частью тех исключений из "школьного" набора свойств, про которые вы мне втюхивали. И прекрасно все это понимаю.