La programación alfabetizada es una estrategia que sirve como alternativa a la programación estructurada. La idea subyacente detrás de este tipo de programación es permitir a los desarrolladores enfocarse más en la lógica y el flujo de sus procesos de pensamiento al escribir programas, en lugar de requerir que la programación se escriba de una manera que sea exigida por la computadora donde se diseñó el software. para usar. Con este enfoque, el programador se enfoca más en la forma más lógica de escribir la programación para que logre el resultado deseado, luego se enfoca en cómo programar la computadora para que el software funcione correctamente.
A diferencia de la programación estructurada, la programación alfabetizada a menudo hace uso de lenguaje común combinado con código fuente que se considera tradicional. Este enfoque hace posible que el programador cree macros de naturaleza descriptiva y explicativa, basadas en los procesos de pensamiento del programador. El resultado final es la creación de un lenguaje que cubre efectivamente el lenguaje de programación subyacente con estas frases explicativas. Con la programación alfabetizada, la documentación del código se considera igual al código en sí, en lugar de ser de naturaleza subsidiaria o auxiliar.
Otro aspecto que ayuda a distinguir la programación alfabetizada de la programación estructurada es la forma en que los elementos de los programas interactúan entre sí. En situaciones de programación estructurada, la interacción es más vertical o jerárquica en el diseño. Con el enfoque alfabetizado de la tarea de programación, los elementos se piensan en términos de un mosaico entrelazado, en el que los elementos son más o menos iguales entre sí.
Los defensores de la programación alfabetizada suelen afirmar que este enfoque particular hace necesario que los programadores articulen los procesos de pensamiento que forman parte del programa. Esto ofrece la ventaja de poder identificar fallas en la lógica del programador con mayor precisión, e implementar cambios o modificaciones que permitan que la programación opere con mayor precisión y eficiencia. Además, la propia naturaleza de este enfoque ayuda a crear un rastro de documentación que facilita la reconstrucción de la lógica aplicada a la tarea de principio a fin. En términos de adaptar el código para aplicaciones específicas por parte de los usuarios finales, esto hace que sea más fácil seguir el flujo de lógica para el programa base e identificar un punto para bifurcarse para ejecutar una tarea específica. A partir de ese momento, el programador puede agregar o modificar el código para que las funciones esenciales no se vean afectadas y la nueva función se integre fácilmente en el proceso general.