Subrotina ou Subprograma?

Você tem um programa e quer modularizá-lo, ou ainda sabe que determinada rotina pode e deve ser compartilhada por outros programas. Neste cenário você pensa em criar Subs! Sub-o-quê?

A diferença básica entre subrotina e subprograma é que o subprograma é uma caixa preta – ele independe de quem o chama e se comporta como um programa a parte com seu universo particular. Já uma subrotina permite o compartilhamento de uma global! Isso mesmo: se o programa chamador está usando uma global e a subrotina referenciá-la, ele aproveitará das mesmas variáveis e valores em memória.

Resumindo: um subprograma conversa com seus chamadores via parâmetros, enquanto uma subrotina pode conversar pelos parâmetros ou pelas variáveis da global.

Abraço!