De click aquí para visualizar el Objeto, no utilice este enlace como

Anuncio
Módulo 1. Introducción a los lenguajes de programación
Objetivo
-
Definir qué es un lenguaje de programación e identificar cómo es su forma de
clasificación.
Introducción a los lenguajes de programación
La solución de problemas de la vida cotidiana mediante el uso o apoyo de un computador, nos
lleva a desarrollar software, proceso conocido también como desarrollo de aplicaciones,
desarrollo de programas, entre otros. La construcción de estos programas se lleva a cabo
mediante diferentes metodologías, los pasos comúnmente utilizados en las diferentes
metodologías son:
Paso 1. Análisis: consiste en comprender el problema que se desea solucionar, su
contexto y sobre todo los límites de posibles soluciones.
Paso 2. Diseño: consiste en describir de forma ordenada las posibles soluciones y/o
instrucciones de que resuelven el problema.
Paso 3. Codificación: es trasladar de forma sistemática la secuencia de instrucciones en
un lenguaje para computador.
Paso 4. Ejecución y validación: es la hora de la verdad; se ejecuta el programa y se valida
que sí corresponda con la solución al problema planteado, es la verificación a la solución
y condiciones establecidas en el análisis.
Para codificar de forma sistemática un algoritmo se necesita un conjunto de instrucciones que
el computador comprenda, este conjunto de instrucciones es conocido con el nombre de
LENGUAJE PROGRAMACIÓN.
Historia
Charles Babbage, profesor de matemáticas en la universidad de Cambridge en los años de
1828 a 1839, es considerado como el padre de los computadores. Entre 1833 y 1842, Babbage
intentó construir una maquina que fuese programable, esta máquina llevaba como nombre la
Máquina Analítica.
El diseño se basaba en una máquina calculadora, controlada por una secuencia de
instrucciones, con una unidad de proceso, una memoria central, facilidades de entrada y salida
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
1
de datos, así como posibilidades de control paso a paso, la secuencia de instrucciones usaba
tarjetas perforadas.
Ada Augusta Byron (Lady Ada Lovelace),
Condesa de Lovelace y matemática;
colaboró con Babbage económicamente y promovió activamente la máquina analítica de
Babbage.
Lady Ada Lovelace escribió programas para la maquina analítica . Estas primeras instrucciones
hacen de Ada Lovelace la primera programadora de computadores en el mundo.
¿Qué es un lenguaje de programación?
Un lenguaje de programación es una técnica estándar de comunicación que permite expresar
las instrucciones que han de ser ejecutadas en un computador. [1]
Estas instrucciones permiten la construcción de programas con los cuales podemos realizar
operaciones de entrada y salida, almacenamiento, cálculos y lógica de comparación.
Un lenguaje de programación permite a un programador especificar de manera precisa: sobre
qué datos un computador debe operar, cómo deben ser estos almacenados y transmitidos, y
qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un
lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como
sucede con el lenguaje Léxico. [1]
Recuerda los pasos del
desarrollo de software:
Clasificación de los lenguajes de
programación.
Los lenguajes de programación son clasificados de
muchas formas, dentro de estas se encuentran:
Clasificación según nivel de abstracción.
• Lenguajes de bajo nivel:
Análisis,
Diseño,
Codificación,
Ejecución y
Validación
Son lenguajes de programación que se acercan al funcionamiento de una computadora. El
lenguaje de más bajo nivel es por excelencia el código máquina. A éste le sigue el lenguaje
ensamblador, ya que al programar en un ensamblador, se trabaja con los registros de memoria
del computador de forma directa. [1]
• Lenguajes de medio nivel:
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de
medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a
los lenguajes de bajo nivel, pero teniendo al mismo tiempo, ciertas cualidades que lo hacen un
lenguaje más cercano al humano y, por tanto, de alto nivel. [1]
• Lenguajes de alto nivel:
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
2
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por
elementos de lenguajes naturales, como el inglés.
En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10
THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a
10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado
que a pesar de que los computadores parecen comprender un lenguaje natural, lo hacen en
realidad de una forma rígida y sistemática. [1]
Clasificación según su paradigma.
• Paradigma Imperativo:
Describe la programación como una secuencia instrucciones o comandos que cambian el
estado de un programa. El código máquina en general está basado en el paradigma
imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el
paradigma procedimental (procedural), entre otros. [2]
• Paradigma Declarativo:
No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino que describe
(declara) cómo es algo. En otras palabras, se enfoca en describir las propiedades de la solución
buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para
encontrar esa solución. Es más complicado de implementar que el paradigma imperativo ;
tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas. [2]
• Paradigma Estructurado:
Inic
io
La programación estructurada se basa en una metodología de
desarrollo de programas llamada refinamientos sucesivos: Se
plantea una operación como un todo y se divide en segmentos
más sencillos o de menor complejidad. Una vez terminado todos
los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el pool de programadores.
Si se ha utilizado adecuadamente la programación
estructurada, esta integración debe ser sencilla y no presentar
problemas al integrar la misma, y de presentar algún problema,
será rápidamente detectable para su corrección.
La representación grafica de la programación estructurada se
realiza a través de diagramas de flujo o flow chart, el cual
representa el programa con sus entradas, procesos y salidas.
Fin
La programación estructurada propone segregar los procesos en
estructuras lo más simple posibles, las cuales se conocen como
secuencia, selección e interacción. Ellas están disponibles en
todos los lenguajes modernos de programación imperativa en
forma de sentencias. Combinando esquemas sencillos se
pueden llegar a construir sistemas amplios y complejos pero de
fácil entendimiento. [3]
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
3
• Paradigma Orientado a Objetos:
La programación orientada a objetos intenta simular el mundo real a través del significado de
objetos que contiene características y funciones. Los lenguajes orientados a objetos se
clasifican como lenguajes de quinta generación. [4]
En la Programación Orientada a Objetos (POO u OOP , por sus siglas en inglés) se definen los
programas en términos de "clases de objetos"; objetos que son entidades que combinan
estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad
(propiedad del objeto que lo diferencia del resto). La programación orientada a objetos
expresa un programa como un conjunto de estos objetos que colaboran entre sí para realizar
tareas. Esto permite hacer los programas módulos más fáciles de escribir, mantener y
reutilizar. [1]
• Paradigma Funcional:
Este paradigma concibe a la computación como la evaluación de funciones matemáticas y
evita declarar y cambiar datos. En otras palabras, hace hincapié en la aplicación de las
funciones y composición entre ellas, más que en los cambios de estados y la ejecución
secuencial de comandos (como lo hace el paradigma procedimental). Tambien permite
resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los
efectos secundarios comunes en otros tipos de programaciones. [2]
• Paradigma lógico:
Se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias
lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ej.: prolog. [2]
Según la forma de ejecución
• Lenguajes compilados:
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que
traducirse a un código que pueda utilizar la máquina.
Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos,
como los programas ensambladores avanzados, pueden generar muchas líneas de código de
máquina por cada proposición del programa fuente. Se requiere una corrida de compilación
antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un
determinado lenguaje a un idioma que el computador entienda (lenguaje máquina con código
binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de
Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que
luego de haber compilado el programa, ya no aparecen errores en el código.
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
4
• Lenguajes interpretados:
Se puede también utilizar una alternativa diferente de los compiladores para traducir
lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el
código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida
de producción futura, el programador sólo carga el programa fuente en la computadora junto
con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en
el sistema operativo del disco o incluido de manera permanente dentro de la máquina,
convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya
siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo
posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a
lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo,
cada instrucción del mismo tendrá que volver a ser interpretada cada vez que éste se ejecute ,
lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el
código en tiempo de ejecución), pero más rápido en tiempo de diseño (porque no se tiene que
estar compilando a cada momento el código completo). El intérprete elimina la necesidad de
realizar una corrida de compilación después de cada modificación del programa cuando se
quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado
con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a
cada paso durante una corrida de producción. [1]
Recuerda las diferentes clasificaciones de los lenguajes de programación :
Los lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Paradigma Imperativo
Paradigma Declarativo
Paradigma Estructurado
Paradigma Orientado a Objetos
Paradigma Funcional
Paradigma lógico
Lenguajes compilados
Lenguajes interpretados
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
5
REFERENCIAS
[1] http://es.wikipedia.org/wiki/Lenguaje_de_programacion
[2] http://www.alegsaonline.com/art/13.php
[3] http://lenguajes-de-programacion.com/programacion-estructurada.shtml
[4] http://lenguajes-de-programacion.com/programacion-orientada-a-objetos.shtml
Técnicas de Programación – Carlos Alejandro Escobar M.
Fecha última actualización: 23 de julio de 2011
6
Descargar