Existen
varias clases de programación, dependiendo de los métodos utilizados y las
técnicas empleadas.
Los
tipos o técnicas de programación son bastante variados, aunque puede que muchos
de los lectores sólo conozcan una metodología para realizar programas. En la
mayoría de los casos, las técnicas se centran en programación modular y
programación estructurada, pero existen otros tipos de programación. Los
explicaremos a lo largo del artículo.
Programación Estructurada (PE)
La
programación estructurada está compuesta por un conjunto de técnicas que han
ido evolucionando aumentando considerablemente la productividad del programa
reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta
programación estructurada utiliza un número limitado de estructuras de control,
reduciendo así considerablemente los errores.
Esta
técnica incorpora:
- Diseño descendente (top-dow): El problema se descompone en etapas o estructuras jerárquicas.
- Recursos abstractos (simplicidad): Consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
- Estructuras básicas: existen tres tipos de estructuras básicas:
- Estructuras secuenciales: cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
- Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
- Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.
Las
principales ventajas de la programación estructurada son:
- Los programas son más fáciles de entender
- Se reduce la complejidad de las pruebas
- Aumenta la productividad del programador
- Los programas queden mejor documentados internamente.
Un
programa está estructurado si posee un único punto de entrada y sólo uno de
salida, existen de "1 a n" caminos desde el principio hasta el fin
del programa y por último, que todas las instrucciones son ejecutables sin que
aparezcan bucles infinitos.
Programación Modular
En
la programación modular consta de varias secciones dividas de forma que
interactúan a través de llamadas a procedimientos, que integran el programa en
su totalidad.
En
la programación modular, el programa principal coordina las llamadas a los
módulos secundarios y pasa los datos necesarios en forma de parámetros.
A
su vez cada modulo puede contener sus propios datos y llamar a otros módulos o
funciones.
Programación Orientada a Objetos (POO)
Se
trata de una técnica que aumenta considerablemente la velocidad de desarrollo
de los programas gracias a la reutilización de los objetos.
El
elemento principal de la programación orientada a objetos es el objeto.
El
objeto es un conjunto complejo de datos y programas que poseen estructura y forman
parte de una organización.
Un
objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.
El
polimorfismo y la herencia son unas de sus principales características y por
ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos
términos.
En
DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la
programación orientada a objetos.
Programación Concurrente
Este
tipo de programación se utiliza cuando tenemos que realizar varias acciones a
la vez.
Se
suele utilizar para controlar los accesos de usuarios y programas a un recurso
de forma simultánea.
Se
trata de una programación más lenta y laboriosa, obteniendo unos resultados
lentos en las acciones.
Programación Funcional
Se
caracteriza principalmente por permitir declarar y llamar a funciones dentro de
otras funciones.
Programación Lógica
Se
suele utilizar en la inteligencia artificial y pequeños programas infantiles.
Se trata de una programación basada en el cálculo de predicados (una teoría
matemática que permite lograr que un ordenador basándose en hecho y reglas
lógicas, pueda dar soluciones inteligentes).