Paradigmas de la programación

lunes, 17 de septiembre de 2012

Como ya sabemos, todo invención humana viene como respuesta a una necesidad del hombre, con la intención de satisfacerla, y si es posible, sacar provecho de ella en el futuro. Como también sabemos (y para los que no lo sepan, se los cuento), las computadoras también surgieron como una respuesta de la humanidad ante la falta de organización y procesamiento rápido de la información que cada vez crecía más en las sociedades post-industriales. Toda invención humana viene con respecto a una necesidad, y ese mismo concepto se puede aplicar a la metodología de programación.


Los lenguajes de programación de alto nivel como C++ y Java surgieron como respuesta a la necesidad de los programadores de interactuar con la computadora a un nivel más humano. Así como los humanos, usando palabras de determinado lenguaje, nos comunicamos con otras personas, y estas personas intepretan nuestras palabras, que son un tipo de signo,  y las relacionan con una idea, para luego responder (aunque no necesariamente por voz y dependiendo de lo que se les fue transmitido) a las palabras que fueron capaces de captar. De manera similar las computadoras son capaces de interpretar nuestros mensajes. Las computadoras interpretan los "signos" que nosotros les introducimos en forma de código a la hora de programar y los re-interpreta de tal manera que pueda trabajar con ello (código ensamblador).

Ahora, la programación está hecha para resolver diferentes tipos de problemas, por lo que existirán tantos diferentes tipos de métodos como distintos problemas a resolver puedan existir. El problema de esto consiste en que para cada método hay un código que lo define, y como habíamos dicho, son tan variados como problemas hay. Eso crearía un problema tanto para el programador al tener que crear un método para cada problema, como para terceros que leen el código, al leer un código con el que no están familiarizados. Para evitar esto, se han creado propuestas adoptadas por la comunidad de programadores de modelos de código que resuelven delimitado problema. A estas propuestas se les llama paradigma de programación.

Así los programadores pueden delimitar su problema dentro de determinado paradigma y aplicar su modelo al código que resolverá su problema, diseñándolo de una manera más eficaz, ayudando al programador a enfocarse en el problema en sí más que en el código y haciendo posible que otros programadores familiarizados con el lenguaje y el paradigma utilizado puedan entender el código y trabajar con él.

Entre los diferentes paradigmas están la programación lineal, programación estructurada, programación modulada y por último la más adoptada por los estándares actuales, la programación orientada a objetos. Trataré de ampliar un poco estos conceptos a lo largo de esta entrada.

Programación Lineal
Es un paradigma que consiste en la ejecución de código de manera lineal desde su inicio a el final, sin salto, repetición o bifurcación alguna. Es el modelo básico de programación y nos permite hacer una serie de operaciones simples (como operaciones matemáticas) de manera lineal.

Programación Estructurada
Evolución de la programación lineal. Debido a la gran cantidad de código a manejar para realizar operaciones más complejas se concibió la idea del salto, que consiste la ejecución del programa es desplazada a determinado punto dentro del código del mismo. Esto permite ejecutar diferentes tipos de instrucciones ubicadas a lo largo del código, dándole el control del flujo de ejecución de tales instrucciones al programa usando un tipo especial de estructuras denominadas estructuras de control, permitiendo crear ciclos de ejecución de instrucciones, bifurcaciones y otros tipos saltos según lo indicaba el programador.

Programación Modulada
Aún con la programación estructurada, los programadores se vieron con la necesidad de que cuando el método a resolver el problema y su consecuente código eran bastantes extensos, organizar el código en diferentes segmentos, que son llamados desde un segmento principal según es indicado por el programador. Esto permite ejecutar determinado tipo de procedimientos cuantas veces sea necesario, sin tener que desplazar el código en el programa.

Programación orientada a Objetos
Este es el paradigma que las comunidades de programadores han tenido más indice de adaptación en la actualidad debido a que permite procesar grandes cantidades de información al clasificar a las entidades que forman parte de la problemática en "plantillas" que contienen todas las propiedades y los procedimientos que pueden ser realizados por esa entidad. Estas plantillas son llamadas clases y la manipulación de un ejemplar en específico es su objeto. Este tipo de paradigma permite que varios conceptos relacionados con él (entre los clave Herencia, Encapsulación, Polimorfismo) nos permitan un manejo eficiente de grandes cantidades de información. Es usando comúnmente para la creación de grandes programas como videojuegos, los cuales manejan grandes cantidades de datos.


Estos, entre otros, son los grandes paradigmas de la programación que permiten a los programadores resolver sus problemas sin tener que crear el código (literalmente, una nueva sintaxis) y brindándoles la capacidad de centrarse completamente en la resolución de un problema para resolverlo satisfactoriamente. Más adelante, en otra entrada abordaré ejemplos de estos paradigmas para una mayor comprensión de los mismos.

0 comentarios:

 
VIOS-UP © 2012 | Designed by Bubble Shooter, in collaboration with Reseller Hosting , Forum Jual Beli and Business Solutions