Lenguaje de programación. Introducción

Anuncio
TEMA 1: Introducción
1.1
¿Qué es un lenguaje de Programación?
• Un lenguaje de programación es un conjunto sistemático de reglas para comunicar ideas, ej.:
lenguajes naturales, lenguajes de programación...
• Diferencias entre los LN y los LP:
• Los lenguajes de programación están pensados para una comunicación persona-computador,
aunque los LP también sirven para comunicar 2 personas.
• El contenido de la comunicación en los LP recibe el nombre de programa (expresiones de soluciones
a problemas que son los suficientemente especificas como para proporcionar al receptor del programa
información suficiente para obtener la solución).
• El medio que usan para esa comunicación tradicionalmente son cadenas de caracteres.
• Definición Formal: Lenguaje de programación es un lenguaje pensado para ser usado por una
persona para expresar un proceso por el cual un computador puede solucionar un problema.
• Procesador | Computador es la maquina que va a dar solución al problema.
• Persona programador que actúa como puente del proceso de comunicación.
• Proceso actividad que describe el programa.
• Problema lo que el sistema o entorno pretende resolver.
• Paradigmas:
• Paradigma Imperativo : Está basado en el punto de vista del procesador. En el lenguaje
imperativo, las órdenes se ejecutan secuencialmente y se utilizan almacenes de datos modificables
que son las variables, y ambos conceptos están basados en los códigos máquina de las
computadoras. Normalmente son muy eficientes.
• Paradigma Lógico : Es un enfoque desde el punto de vista de la persona, se enfrenta al problema
desde el punto de vista lógico : Un programa es la descripción lógica del problema expresado de
una manera formal.
• Paradigma Funcional : El enfoque es el del proceso, en el sentido de que los programas escritos en
programación funcional, describen las operaciones deben realizarse para solucionar el problema de
manera abstracta.
• Paradigma Orientado a Objetos : El enfoque es el del problema. Reflejan la realidad de los
problemas que queremos solucionar están compuestos por objetos que se envÃ−an mensajes.
• Paradigma Concurrente : Incorpora aspectos de los 4 anteriores paradigmas y permite describir
procesos que actúan simultáneamente.
1.2
¿Por qué estudiar conceptos de LP?
• Mejora la capacidad para solucionar el problema. El conocimiento de conceptos importantes de los
LP nos puede ayudar a elegir un mejor enfoque del problema.
• Incrementa la capacidad para hacer mejor uso de los LP.
• Ayuda a realizar una buena elección del lenguaje para cada problema. Para cada problema hay unos
lenguajes más adecuados que otros.
• Facilita el aprendizaje de nuevos LP.
• Permite adquirir algunas capacidades útiles para el diseño de nuevos lenguajes.
1
Historia de los LP
1.3
• Finales de los 40 o Era Prelinguar (época anterior a la aparición de los LP).
• Los programas incluÃ−an manejos de cables, interruptores ...
• Hay una excepción debida a Konrad Zare que en 1944 diseñó el lenguaje PlanKalKül, con
ideas muy avanzadas:
• Se incluÃ−an variables.
• Procedimientos con parámetros
• Da mas importancia a la estructura de los programas que a su eficiencia.
• Anos 50 o Era del aprovechamiento del “poder” de la máquina.
• Se programa en lenguaje ensamblador
• Aplicaciones de cálculo numérico.
• Pasar fórmulas grandes numéricas a ensamblador.
• Esta fue la causa del nacimiento del FORTRAM, el cual ya incluye:
• Estructuras de control.
• Procedimientos.
• Años 60 : Aparecen COBOL, ALGOL 60, TL1, gran cantidad de LP cada uno centrándose en
ramas distintas:
BASIC : Mayor interacción con el usuario.
LISP : lenguaje para computación simbólica, padre de los lenguajes funcionales.
• Años 70 :
• Preocupación por la potabilidad, construir software que no depende de la maquina en la que se
construya.
• Preocupación sobre la corrección de los programas y comienza la crisis del SW.
• La herramienta que permitió dar solución de estas 2 cosas fue la programación estructurada.
• Aparecen lenguajes como PASCAL, C, ALGOL 68.
• Años 80 : El énfasis se pone en la reducción de la complejidad (tanto la complejidad de la tarea
de programar como la de administrar los programas).
• Aparecen lenguajes como ADA, MODULA 2, que posibilitan el uso de módulos.
• Aparecen los lenguajes O.O. : SMALLTALK.
• Aparecen los lenguajes funcionales modernos : MIRANDA, ML Standard.
• Aparecen los lenguajes Lógicos : PROLOG.
• Aun se programa en ensamblador.
• Años 90 : Son los años de la explosión del hardware paralelo y distribuido.
Tema 1: Introducción LPR
1
1
•
2
Descargar