Definición de estructura
La estructura es la distribución de las partes de un cuerpo, aunque también puede usarse en sentido abstracto. El concepto, que procede del latín structura, hace mención a la disposición y el orden de las partes dentro de un todo.
A partir de esta definición, la noción de estructura tiene innumerables aplicaciones. Puede tratarse de la distribución y el orden de las partes principales de un edificio o de una casa, así como también de la armadura o base que sirve de sustento a la construcción. Por ejemplo: “A simple vista parece un edificio muy moderno, pero habría que analizar su estructura”, “Me encanta la estructura de esta casa, con el baño ubicado junto a la habitación principal”, “Una falla en la estructura causó el derrumbe de una torre en Kuala Lumpur”.
La estructura también es la distribución y el orden de los componentes o las partes de una obra de ingenio: “El nuevo libro de Stephen King tiene una estructura compuesta por ocho capítulos y un prefacio”, “La estructura de las canciones más populares está formada por verso-estribillo-verso”, “Es una película de estructura inusual, que comienza con la muerte del protagonista y luego narra cómo llegó a dicho momento fatal”.
Puede llamarse estructura a la armadura que brinda sustento a una construcción.
Estructura en la sociología y en la informática
Para la sociología, la estructura social es la población que cuenta con una determinada organización y con una cierta tecnología, que convive y se desarrolla en un medio ambiente.
En el ámbito de la informática, la estructura de datos es la forma de organización de los datos elementales con la intención de facilitar el trabajo de programación. El dato elemental, por otra parte, es la información mínima que se tiene de un sistema.
Programación estructurada
Se conoce como programación estructurada a un paradigma que busca facilitar la comprensión del código, reducir el tiempo de desarrollo y mejorar la calidad de los programas informáticos, valiéndose simplemente de subrutinas y de bloques de código (también llamados secuencias, son secciones con un número variable de sentencias y declaraciones; en otras palabras, el contenido más abundante de un programa), instrucciones condicionales (selecciones de tipo switch e if) y bucles for y while.
La idea de estructura aparece en el terreno de la programación.
Por otro lado, la programación estructurada rechaza el uso de la instrucción GOTO (del inglés go to, que significa ir a), que permite saltar de un punto a otro del código y dificulta su seguimiento y su mantenimiento, además de haber sido el origen de un gran número de errores en su auge.
Esta forma de concebir el desarrollo de los programas surgió a finales de la década del 70, y sus promotores aseguraban que toda aplicación podía construirse basándose en sus principios; si bien existen lenguajes con más estructuras que las contempladas por este paradigma, todas ellas pueden ser reproducidas a partir de if, switch, for y while.
Beneficios al programar con estructuras
Entre las ventajas que ofrece con respecto al modo de programar utilizado hasta su aparición, además de las citadas anteriormente, se encuentran las siguientes:
* permite realizar modificaciones al código finalizado con mayor facilidad, lo cual repercute positivamente en los costos de mantenimiento;
* las diversas instrucciones muestran una mayor relación entre sí, lo cual vuelve la estructura del código más clara, más consistente;
* el código resulta más fácil de comprender, dado que la lectura se realiza en secuencia, sin los confusos saltos de línea propios del uso de GOTO;
* testear y depurar los programas requiere de un esfuerzo menor, dada la mayor claridad de la estructura;
* basarse en este paradigma hace más sencillo el proceso desde la primera fase: el diseño.
Si bien es posible respetar los principios de la programación estructurada utilizando cualquier lenguaje, los más usados durante los primeros años fueron Pascal, ALGOL, Ada y PL/I. En las últimas décadas, surgieron otros paradigmas, tales como la programación orientada a objetos y la modular, cada uno intentando resolver distintas problemáticas.