Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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).
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.
Existen distintos paradigmas de programación y entre ellos podemos encontrar los siguientes:
Programación Modular
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.
Programación Estructurada
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.
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.
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:
É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.