Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Marzo del 2018)
758 visualizaciones desde el 6 de Marzo del 2018
198,3 KB
14 paginas
Creado hace 18a (05/10/2006)
TEMA 2: LENGUAJES DE
PROGRAMACIÓN.
Componentes del grupo:
• Soraya María Alvaredo Coco
• Alberto Delgado Lastras
• Santiago Aira Zunzunegui
• Alberto Rubio Pascual
• Jesús Herrero Herrero
• Luis María Mozo Vaquero
Objetivos del tema
• Resumir la evolución de los lenguajes de programación, ilustrando cómo ha
dado lugar a los paradigmas disponibles en la actualidad.
• Evaluar los diferentes paradigmas, considerando aspectos tales como la
eficiencia en cuanto al espacio, la eficiencia en cuanto al tiempo (tanto del
ordenador como del programador), la seguridad y la potencia de las
expresiones.
• Describir las fases de la traducción de programas desde código fuente a
código ejecutable y los ficheros generados por estas fases.
• Comparar modelos de ejecución compilados e interpretados, esbozando las
características de cada uno.
• Explicar las diferencias entre la traducción dependiente de la máquina y la
independiente, indicando dónde son evidentes estas diferencias en el proceso
de traducción.
DESCRIPCIÓN DE CONTENIDOS
En el primer tema se presentó ya el concepto de lenguaje de programación. Este
tema comienza recordando dicho concepto.
A continuación, se hace una breve revisión histórica de los lenguajes de
programación, comenzando por el lenguaje máquina utilizado en los primeros
tiempos y llegando a los lenguajes utilizados en la actualidad.
El tercer apartado presenta los paradigmas de programación fundamentales,
indicando las características generales de cada uno de ellos. Se considera
interesante que el alumno tenga conocimiento de la existencia de diversos
paradigmas de programación, aparte del que se va a utilizar en la asignatura. Se
describirán fundamentalmente el paradigma imperativo, el lógico, el funcional y el
basado en objetos, pero también se comentarán brevemente otros paradigmas, como
la programación concurrente o la manejada por eventos.
El siguiente apartado presenta algunas clasificaciones de los lenguajes actuales,
atendiendo a criterios como su proximidad al lenguaje natural, el que sean de
propósito general o particular o el paradigma de programación asociado.
El último apartado describe el proceso de traducción de lenguajes. Se comenzará
justificando la necesidad de los traductores para ejecutar programas escritos en
lenguajes diferentes del lenguaje máquina. Será necesario traducir los programas
del lenguaje de programación en el que están escritos a un lenguaje que pueda
entender la computadora, como paso previo a su ejecución. Se describirán los tipos
de traductores disponibles, así como sus características. Por último, se describirá el
proceso de traducción utilizando cada tipo de traductor, analizando las etapas y los
ficheros que se generan en cada una.
Puntos a desarrollar
1. Concepto de lenguaje de programación.
2. Historia y evolución de
programación.
los
lenguajes de
3. Paradigmas de programación.
4. Algunas clasificaciones de
los
lenguajes de
programación.
5. Traductores.
un lenguaje especifico pensado por el hombre para ellas. Además, necesitan
constantemente interpretar todas las instrucciones que reciben. Dada la dificultad de
comunicación insalvable entre el computador y el programador, pronto aparecieron
lenguajes de programación que hacen posible la comunicación con el microprocesador,
utilizando términos y símbolos relacionados con el tipo de problema que se debe
resolver, mediante el empleo de herramientas que brinda la informática.
En la actualidad hay muchos tipos de lenguajes de programación, cada uno de
ellos con su propia gramática, su terminología especial y una sintaxis particular. Por
ejemplo, existen algunos creados especialmente para aplicaciones científicas o
matemáticas generales (BASIC, FORTRAN, PASCAL, etc. ); otros, en cambio, se
orientan al campo empresarial y al manejo de textos y ficheros, es decir, son en realidad
fundamentalmente gestores de información (COBOL, PL/1, etc. ), o muy relacionados
con el lenguaje máquina del ordenador (como el C y el ASSEMBLER).
INTRODUCCIÓN
Los ordenadores no hablan nuestro idioma, son maquinas y como tales, necesitan
Los primeros en aparecer fueron
Los ordenadores se programaban en lenguaje máquina pero las dificultades que
esto conllevaba, junto con la enorme facilidad de cometer errores, cuya localización era
larga y compleja, hicieron concebir, en la década de los 40, la posibilidad de usar
lenguajes simbólicos.
los ensambladores,
fundamentalmente consistía en dar un nombre (mnemónico) a cada tipo de instrucción y
cada dirección (etiqueta). Al principio sé hacia el programa sobre papel y, después se
traducía a mano con la ayuda de unas tablas, y se introducían en la máquina en forma
numérica, pero pronto aparecieron programas que se ensamblaban automáticamente.
Concepto de lenguaje de programación.
Los programas indican al ordenador qué tienes que hacer, y éste únicamente
realiza las operaciones que el programa incluye. Un programa y las sentencias que lo
constituyen se construyen con unos símbolos, y de acuerdo con unas reglas, que
constituyen la gramática del lenguaje de programación.
Se puede definir un lenguaje de programación como el conjunto de símbolos y
de reglas para combinarlos, que se usan para expresar algoritmos.
Los lenguajes de programación a semejanza de los lenguajes que usan los
humanos para comunicarse, poseen un léxico (vocabulario o conjunto de símbolos
permitidos), una sintaxis que indica cómo realizar construcciones del lenguaje y una
semántica que determina el significado de cada construcción correcta.
Historia y evolución de los lenguajes de programación.
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge,
la cual se le ocurrió a este hombre a mediados del siglo XIX. Consistía en lo que él
denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse
hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada
como la primera programadora de la historia, pues realizo programas para aquélla
supuesta maquina de Babagge, en tarjetas perforadas. En cuanto se empezó a
programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y
Ada, que consistían entre otras, en la programación mediante tarjetas perforadas.
Paradigmas de programación.
(cid:121) Definición Teórica
Un paradigma está constituido por los supuestos teóricos generales, las leyes y las
técnicas para su aplicación que adoptan los miembros de una determinada comunidad
científica.
Paradigmas de Programación: Representan un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y
desventajas. También hay situaciones donde un paradigma resulta más apropiado que
otro.
(cid:121) Tipos de Paradigmas de Programación
1. Paradigmas Imperativo: Son aquellos que facilitan los cálculos por medio de
cambios de estado, entendiendo como estado la condición de una memoria de
almacenamiento. Los lenguajes estructurados en bloques, se refieren a los ámbitos
anidados, es decir los bloques pueden estar anidados dentro de otros bloques y contener
sus propias variables. La RAM representa una pila con una referencia al bloque que está
actualmente activo en la parte superior.
Paradigma heurístico: Define un modelo de resolución de problemas en
el que se incorpora algún componente heurístico, sobre la base de una
representación más apropiada de la estructura del problema, para su resolución
con técnicas heurísticas.
Paradigma concurrente: La programación distribuida ha sido dividida en
dos amplias categorías, sistemas acoplados en forma débil o fuerte. El término
distribuido se refiere por lo general a lenguajes para sistemas acoplados
débilmente que soportan un grupo de programadores trabajando en un programa
particular de manera simultánea y comunicándose a través de paso de mensajes
mediante un canal de comunicación. Un sistema acoplado fuertemente permite
que más de un proceso en ejecución tenga acceso a la misma ubicación de
memoria. Un lenguaje acoplado con el sistema debe sincronizar el uso
compartido de la memoria, de modo que solo un proceso escriba una variable
compartida a la vez, y de modo que un proceso pueda esperar hasta que ciertas
condiciones se satisfagan
por completo antes de continuar la ejecución. La
memoria compartida tiene la ventaja de la velocidad, por que no se necesita
pasar mensajes.
2. Paradigmas Procedimentales: Modelos de Desarrollo: Orientado a Objetos, a
Eventos, y a Agentes. Secuencia computacional realizada etapa a etapa para resolver el
reglas,
restricciones,
construye
señalando hechos,
problema. Su mayor dificultad reside en determinar si el valor computado es una
solución correcta del problema.
3. Paradigmas Declarativos: Modelos de Desarrollo: Funcional, Lógico y de Flujo de
Datos. Se
ecuaciones,
transformaciones y otras propiedades derivadas del conjunto de valores que configuran
la solución.
4. Paradigmas Demostrativos: Modelos de Desarrollo: Genético. Cuando se programa
bajo un paradigma demostrativo (también llamada programación por ejemplos), el
programador no especifica procedimentalmente cómo construir una solución sino que
presentan soluciones de problema
Comentarios de: TEMA 2: LENGUAJES DE PROGRAMACIÓN (0)
No hay comentarios