En el presente artículo se abordará el tema de Programación por procedimientos desde diferentes perspectivas con el objetivo de profundizar en su relevancia y repercusión en la actualidad. Programación por procedimientos ha captado la atención de diversos sectores debido a su impacto en la sociedad, la economía, la política y la cultura. A lo largo de las próximas líneas se analizarán sus orígenes, evolución, desafíos y oportunidades, así como su influencia en el cambio social y tecnológico. Además, se examinarán diferentes estudios e investigaciones que han arrojado luz sobre Programación por procedimientos y su relación con otros fenómenos. En definitiva, este artículo pretende ofrecer una visión global y actualizada sobre Programación por procedimientos, con la finalidad de contribuir al debate y la reflexión en torno a este tema tan relevante en la actualidad.
La programación procedimental o programación por procedimientos es un paradigma de la programación. Muchas veces es aplicable tanto en lenguajes de programación de bajo nivel como en lenguajes de alto nivel. En el caso de que esta técnica se aplique en lenguajes de alto nivel, recibirá el nombre de programación funcional. Esta técnica consiste en basarse de un número muy bajo de expresiones repetidas, englobarlas todas en un procedimiento o función y llamarlo cada vez que tenga que ejecutarse.
Esta técnica de programación ofrece muy buena respuesta con relación al tamaño de los programas, y en bruto casi no se nota en la velocidad de ejecución de los mismos (mientras que las variables, constantes o índices de vector estén en memoria, como suele ser normal, estos se relacionarán entre sí, sin una carga de memoria considerablemente alta para los procesadores modernos); aunque es muy complicado conseguir una programación por procedimientos pura.
Los primeros lenguajes de programación por procedimientos importantes aparecieron alrededor de 1957-1964, incluidos Fortran, ALGOL, COBOL, PL/I y BASIC. Otros lenguajes importantes, como Pascal y C, se publicaron alrededor de 1970-1972.
A modo de ejemplo, si queremos mostrar el anterior, el posterior y un propio número de una lista (vector), un pseudocódigo por procedimientos o funciones (a alto nivel) sería:
procedimiento anterior_posterior( numero ) {
out(numero-1);
out(numero);
out(numero+1);
}
for( i = 0; i < tamaño(lista); i++) {
anterior_posterior( lista );
}
O si queremos dividir al número por 2,3,4,5,6,7,8,9 y 10 en otro pseudocódigo:
procedimiento div(numero) {
out(numero/2);
out(numero/3);
out(numero/4);
out(numero/5);
out(numero/6);
out(numero/7);
out(numero/8);
out(numero/9);
out(numero/10);
}
for( i = 0; i < tamaño(lista); i++) {
div( lista );
}
Utilizar este tipo de programación puede resultar muy útil a la hora de programar grandes proyectos, ya que se crea una inmensa biblioteca de funciones especiales para procedimientos utilizados con frecuencia dentro del programa.
Por contrapartida, es muy difícil determinar cuál es el número mínimo de instrucciones consecutivas, y el mínimo número que esta secuencia se debe repetir para considerar declarar un procedimiento o una función.