¿Cuál es la diferencia entre una subrutina y una función? [duplicar]

Posible duplicado:
¿Cuál es la diferencia entre una "función" y un "procedimiento"?

Busqué en línea una respuesta a esta pregunta, y la respuesta que obtuve fue que una función puede devolver un valor, modificar un valor, etc., pero una subrutina no puede. Pero no estoy satisfecho con esta explicación y me parece que la diferencia debería ser algo más que una cuestión de terminología.

Así que estoy buscando una respuesta más conceptual a la pregunta.

Respuestas a la pregunta(4)

Su respuesta a la pregunta