Sei sulla pagina 1di 6

PROGRAMACIÓN

La programación es un proceso que se utiliza para idear acciones que se realizarán en el marco de
un proyecto; al anuncio o espectáculo; a la preparación de máquinas para que cumplan con una cierta
tarea en un momento determinado; a la elaboración de programas para la resolución de problemas
mediante ordenadores, y a la preparación de los datos necesarios para lograr obtener una solución de
un problema. Éste, básicamente, es el proceso por el cual una persona desarrolla un programa
valiéndose de una herramienta que le permita escribir el código y de otra que sea capaz de “traducirlo”
a lo que se conoce como lenguaje de máquina, que puede comprender el microprocesador.

Ésta se guía por reglas y un conjunto más o menos reducido de órdenes, expresiones, instrucciones
y comandos que tienden a asemejarse a una lengua natural acotada; y que además tienen la
característica de una reducida ambigüedad. Esta secuencia de instrucciones es lo que se conoce como
algoritmo. Usualmente, un programa implementa uno o más algoritmos y éstos pueden expresarse de
distintas maneras: en forma gráfica (diagrama de flujo), en forma de código (pseudocódigo) o en
forma explicativa (lenguaje de programación).

1. LENGUAJE DE PROGRAMACIÓN

Un lenguaje de programación es el conjunto de reglas sintácticas y semánticas compuestas por


palabras, números y símbolos que se emplean para definir la estructura, y el comportamiento físico y
lógico de un ordenador con el objetivo de que produzca diversas clases de datos. Por lo general, se
habla de éste como el idioma que el programador utiliza con la máquina para crear un programa de
cualquier tipo.

El lenguaje de programación permite especificar de manera precisa sobre qué datos debe operar un
software específico, cómo deben ser almacenados o transmitidos dichos datos, y qué acciones debe el
mismo tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta
ser lo más parecido al lenguaje humano. Una característica relevante de los lenguajes de programación
es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean
comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.

Sin el lenguaje de programación, el acto de programar sería imposible, dado que no estarían
establecidas ni las reglas ni los elementos para poder hacerlo. Es algo sumamente importante en la
actualidad, ya que lo digital y la informática se han vuelto las principales armas de cualquier empresa.

Los lenguajes de programación han sido históricamente clasificados atendiendo a distintos criterios:

 Según su Evolución Histórica: A medida que se manifestaban nuevos lenguajes que permitían
estilos de programación más avanzados, se dividían en una serie de generaciones (primera,
segunda, tercera, cuarta y quinta), cada una representa lenguajes surgidos en una época y
características genéricas comunes.

 Según su nivel de Abstracción: Esta clasificación se basa en dos categorías: la primera de ellas
son los lenguajes de Bajo Nivel y la segunda son los de Alto Nivel. Es decir, se basa en cuanto
a lo específico o general que es respecto a la arquitectura de computación propia al sistema
que se utilizará.

 Según su Propósito: estos depende de para qué se vaya a realizar el programa. Los hay de tipo
específico (van dirigidos a un objetivo en concreto) o generales (utilizados para varios tipos de
tareas).

 Según su Paradigma: Los paradigmas de programación distinguen distintos modelos de


cómputo y de estilos de estructurar y organizar las tareas que debe realizar un programa.

2. PARADIGMAS DE PROGRAMACIÓN

A lo largo de la evolución de la programación han surgido diversas técnicas que se han ido
adaptando a las necesidades tecnológicas e informáticas del momento. Aunque la forma de enfocar la
elaboración de los programas es diferente en cada una de ellas, el objetivo es el mismo: facilitar la
creación y el mantenimiento de programas informáticos. Estas técnicas se han traducido en diferentes
filosofías de creación de programas que son los denominados paradigmas de programación.

Un paradigma de programación es un método creado para llevar a cabo el desarrollo de cómputos y


la forma en que deben de estructurarse y organizarse las tareas que debe realizar un programa.
Básicamente, es un modelo para resolver problemas computacionales. Los paradigmas se diferencian
unos de otros en cuanto a los conceptos y formas de abstraer los elementos involucrados en un
problema, así como también en los pasos que integran la solución del mismo.

Los distintos lenguajes de programación disponen de implementaciones para las herramientas


conceptuales descritas por los paradigmas. Existen lenguajes que se concentran en las ideas de un solo
paradigma así como también hay otros que permiten la combinación de varios de ellos.

Existen distintos paradigmas de programación y entre ellos podemos encontrar los siguientes:

 Programación Modular

Esta programación consiste en la descomposición de un programa en trozos pequeños denominados


módulos o subprogramas, en los cuales cada uno de ellos se encarga de llevar a cabo una tarea concreta
y bien definida, y se agrupará según su funcionalidad. Cada uno de estos módulos se analizará y
codificará por separado. De esta forma, en lugar de resolver una tarea compleja y tediosa, resolvemos
otras más sencillas y a partir de ellas llegamos a la solución. Ésta técnica se llama refinamiento
sucesivo, divide y vencerás ó análisis descendente (Top-Down).

La estructura de éste tipo de programas se compone de un módulo principal a través del cual se
llamara al resto de los módulos. Dicho módulo principal es el encargado de la ejecución al inicio del
programa. Cuando se solicita un módulo en concreto, el control del programa se pasara al módulo, el
cual mantendrá el control hasta que finalice su ejecución en cuyo momento devolverá el control a la
instrucción siguiente a la que realizó la llamada.

A su vez, cada módulo puede hacer llamadas a otros que siempre devolverán el control al módulo
desde el cual fueron llamados, detiene la redundancia del código, ya que bloquean las secuencias de
instrucciones más usadas y que se repiten, se le da un nombre y cuando se requieran, basta con
simplemente colocar dicho nombre en el lugar donde sea necesario.

La programación modular tiene como ventajas:

 Reducir la complejidad y el tamaño del problema.


 Facilitar la lectura del código.
 Ayuda a ser más clara la lógica del programa.
 Permite plantear una solución completa del problema, para luego profundizar en los detalles.
 La depuración es más fácil de realizar ya que primero se corrigen errores en los módulos de
nivel inferior.

 Programación Estructurada

Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de


un programa de computadora recurriendo únicamente a funciones y tres estructuras básicas de control:
secuencia, selección e iteración. Solamente con estas tres estructuras se pueden escribir todos los
programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio
de estructuras de control, estas pueden ser construidas mediante las tres previamente citadas.

La programación estructurada es especialmente útil cuando se necesitan realizar correcciones o


modificaciones después de haber concluido un programa o aplicación. Al haberse utilizado esta
programación, es mucho más fácil entender la codificación del programa que se habrá hecho en
diferentes secciones.

Este tipo de programación se basa en una metodología de desarrollo de programas llamada


“refinamientos sucesivos”. Es decir, se plantea una operación como un todo y se divide en segmentos
de menor complejidad. Una vez terminado todos los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el pool de programadores. Si ésta se ha utilizado correctamente, esta
integración deberá ser sencilla y no presentar problemas, y en tal caso de sí presentar algún problema,
será detectado rápidamente para su corrección.

Entre las ventajas de la programación estructurada tenemos que:

 Los programas son fáciles de entender, pueden ser leídos de forma secuencial y no hay
necesidad de tener que rastrear saltos de líneas dentro de los bloques de código para intentar
entender la lógica interna.
 La estructura de los programas es clara, puesto que las sentencias están más ligadas o
relacionadas entre sí.
 Se optimiza el esfuerzo en las fases de pruebas y depuración. El seguimiento de los fallos o
errores del programa, y con él su detección y corrección, se facilita enormemente.
 Los programas son más sencillos y más rápidos de confeccionar.

 Programación Orientada a Objetos (POO)

La programación Orientada a Objetos es un paradigma que llega para modificar la forma de obtener
resultados, ya que ésta agrupa un conjunto de técnicas que permiten desarrollar y mantener más
fácilmente programas de gran complejidad. Su pieza fundamental es el objeto, el cual combina en una
sola forma, los datos que lo identifican y su comportamiento. Cada uno de ellos contiene funciones e
información especial.

Este paradigma es una de las formas más, populares de programar y viene teniendo gran acogida en
el desarrollo de proyectos de software desde los últimos años. Esta aceptación se debe a sus grandes
capacidades y ventajas frente a las antiguas formas de programar.

La POO utiliza elementos básicos como:

 Atributos: se refiere a las características individuales que dispone cada objeto y las cuales le
permiten diferenciarse entre sí como, por ejemplo, apariencia, estado funcionalidad, etc.
 Método: es el algoritmo asociado a un objeto (o clases de objetos) el cual le permite llevar a
cabo una respuesta tras la recepción del mensaje. La respuesta a tal mensaje puede incluir el
envío por el método de mensajes al propio objeto y aun a otros, también como el cambio del
estado interno del objeto.
 Clases: son las declaraciones o abstracciones de objetos. Estas representan, básicamente, el
conjunto de variables y métodos para operar con datos.
Para éste tipo de programación, hay un cierto desacuerdo sobre exactamente qué características de
un método de programación o lenguaje la definen como “orientado a objetos”, pero hay un consenso
general en que las características siguientes son las más importantes:

 Abstracción: denota las características esenciales de un objeto, donde se capturan sus


comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que
puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el
sistema sin revelar "cómo" se implementan estas características. El proceso de abstracción
permite seleccionar las características relevantes dentro de un conjunto e identificar
comportamientos comunes para definir nuevos tipos de entidades en el mundo real. Ésta es
clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos
llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se
quiere atacar.

 Encapsulamiento: Consiste en agrupar todos los datos y operaciones pertenecientes a una


misma unidad. En el caso de los objetos que poseen las mismas características y
comportamiento se agrupan en clases, que no son más que unidades o módulos de
programación que encapsulan datos y operaciones. El encapsulamiento se logra gracias a la
abstracción y el ocultamiento.

 Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una


clase y exponer sólo los detalles que sean necesarios para el resto del sistema.

Éste permite 2 cosas: restringir y controlar el uso de la clase: restringir porque habrá cierto
comportamiento privado de la clase que no podrá ser accedido por otras. Y controlar porque
daremos ciertos mecanismos para modificar el estado de nuestra clase y es en estos
mecanismos dónde se validarán que algunas condiciones se cumplan.

 Polimorfismo: Esta propiedad se refiere a que en una operación puede haber distintos objetos
con comportamientos diferentes los cuales comparten el mismo nombre; al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. Es una
característica de la programación orientada a objetos, que significa que un mismo método
puede tener diferentes maneras de realizarse.

 Herencia: Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una
jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas
las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el
encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados
de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener
que volver a implementarlo. Sencillamente, esta característica significa que un mismo método
puede tener diferentes maneras de realizarse.

 Modularidad: Esta propiedad permite dividir una aplicación en trozos más pequeños
denominados módulos, los cuales cada uno de ello debe ser lo más independiente posible.

Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y
representa el mundo real tan fielmente como sea posible. De igual manera posee ciertas ventajas como:

 La ejecución del programa es rápida y sencilla, ya que todo se encuentra en una sola ventana.
 Permite crear sistemas más complejos.
 Facilita la creación de programas visuales.
 Son más fáciles de entender los códigos.
 Los objetos pueden tener varios atributos.
 Agiliza el desarrollo y mantenimiento del software.

Potrebbero piacerti anche