subrutina o subprograma, como idea general, se presenta como un algoritmo separado del algoritmo principal, el cual permite resolver una tarea específica. Un ejemplo sería:
Programa principal
instrucción 1
instrucción 2
…
instrucción N
…
Subrutina Nombre X?
…….
fin subrutinaX
fin programa principal.
El concepto de subrutina así como su forma de uso ha ido evolucionando, dando orígen a los procedimientos, las funciones (subprogramas que devuelven un valor) y los módulos (conjunto de subprogramas relacionados). Una de sus derivaciones la representan los métodos, nombre dado a los subprogramas que permiten el manejo de los objetos bajo el paradigma de la Programación Orientada a Objetos.