Sin embargo, se creó una manera más cómoda de introducir comandos y es mediante "Procedimientos".
Los procedimientos le agregaron una nueva dimensión a la programación Imperativa primitiva (secuencial).
(Como cada lenguaje tiene diferentes formas de crear y usar procedimientos y funciones, en general, lo importante es saber que, tanto "los procedimientos" como "las funciones", son subrutinas -sub algoritmos o sub programas dentro del programa general que estamos programando-)
Así que:
A-Algoritmo = Rutina = Programa = código fuentes de un programa que resuelve algo o realiza alguna tarea por nosotros.
B-Subalgoritmo = Subrutina = Subprograma = Procedimiento específico que resuelve algo sin dar un valor como resultado o una Función específica que resuelve algo y le otorga al programa un valor como resultado.
Entonces, un programa puede estar formado por Algoritmos secuenciales y subalgoritmos. (Rutinas o subrutinas).
Es casi imposble hacer programs que solo ejecuten subrutinas (procedimientos).
Así como es casi tonto hoy día hacer programas que solo usen secuencias y jamas usen una subrutina o varias de ellas.
Así que se tiende a crear programas con una combiación de secuencias y subrutinas adecuada a la situación que se deba resolver.
Las funciones
Hoy es muy común programar usando funciones, hasta el punto que se ha casi olvidado, popularmente, que existen los procedimientos propiamente dichos.
Las funciones, en esencia, son solo un caso especial de procedimientos (subrutina o subalgoritmos) ya que que están destinados a producir nuevos datos.
Pero su descubrimiento e inclusión fue fundamental y radical en la historia de la programación. por ello hoy hay muchso lenguajes que aceptan la programacion procedimental o la programación funcional.
La diferencia entre la programación funcional y la procedimental
En la primera trabaja en el bajo nivel (Programas mas cercanso al lenguaje máquina) y la segunda, en leguajes de alto nivel. (Programas mas cercanos al lenguaje humano)
Leguajes y Paradigmas
Los lenguajes que son puramente del paradigma funcional son:
Haskel, Miranda y Erlang
Los lenguajes de otros paradigmas pero que permiten programación procedimental y funcional son:
C y C++
C#
Logo
StarBasic
Pascal
Java
Python
Javascript
Processing
Kotlin
Visual Basic .NET