Lenguajes de programacion comparados
Estudio de los lenguajes de programación desde el punto de vista de las áreas de aplicación
• Científicos • Ingeniería • De Gestión (negocios) • De Inteligencia Artificial • Programación de sistemas • Multipropósito
2005 Alfredo Gutiérrez Hdez.
1
1.1.2
Estudio de los lenguajes de programación desde el punto de vista de su nivel
Lenguaje Humano • Muy alto • Alto • Medio• Bajo • Muy bajo Lenguaje Máquina
2005 Alfredo Gutiérrez Hdez. 2
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Paradigma: “Logros científicos universalmente reconocidos que durante un tiempo proporcionan problemas y soluciones modelo para una comunidad de profesionales.”
Imperativos
Declarativos
Estructurado enbloques Basados en objetos Programación distribuida
Programación Lógica Programación funcional Lenguajes para bases de datos
3
2005 Alfredo Gutiérrez Hdez.
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Imperativos - Cambios de estado hechos a la memoria - Algoritmos Estructurado en bloques - Subrutinas - Datos comunes - Ámbitosanidados Basados en objetos - Objeto: grupo de procedimientos que comparten un estado
Programación distribuida - Trabajo de muchos programadores en un solo programa de forma simultánea comunicándose a través del paso de mensajes
2005 Alfredo Gutiérrez Hdez.
4
1.1.3
Estudio de los lenguajes de programación desde el punto de vista de los paradigmas de programación
Declarativos - Seenfocan más en lo que se quiere hacer que en cómo hacerlo - El intérprete o compilador administra recursos en lugar del programador Programación Lógica - Obtención de nuevos hechos a partir de hechos conocidos - Un programa se compone de: • Serie de axiomas o hechos • Reglas de inferencia • Teorema o cuestión por demostrar Programación funcional - Todo opera a través de funciones - Uniformidadfuncional - No hay asignaciones globales - El programa mismo es una función Lenguajes para bases de datos - Persistencia - Control de cambios
2005 Alfredo Gutiérrez Hdez.
5
1.2
Lenguaje de programación
Sintaxis Lenguaje Semántica
Gramática: ciencia que estudia o regula al lenguaje Estructura lexicográfica: la estructura de los tokens Token: palabra válida en un lenguaje
Alfabeto(conjunto de símbolos) Lenguaje Reglas para formar palabras Reglas para formar declaraciones
2005 Alfredo Gutiérrez Hdez.
6
1.2
Lenguaje de programación
Lenguaje formal: la forma o sintaxis de las palabras válidas en un lenguaje sin importar su significado Definición de lenguajes formales: 1. Alfabeto Σ de símbolos individuales 2. Un conjunto de reglas P para determinar cualescadenas o palabras de Σ son válidas en L las reglas de producción tiene la forma: α→β
Gramática estructurada en frases G=(Σ, N, P, Inicio) Σ = Conjunto de símbolos terminales N = Conjunto de símbolos no terminales P = Conjunto de reglas de producción Inicio = Símbolo de inicio
2005 Alfredo Gutiérrez Hdez.
7
1.3
Características de los lenguajes de programación
• Descripciones biendefinidas - BNF y EBNF - Semántica • Comprobabilidad • Confiabilidad • Traducción rápida • Código objeto eficiente • Ortogonalidad • Generalidad • Consistencia y notaciones comunes • Uniformidad • Subconjuntos • Extensibilidad • Transportabilidad
2005 Alfredo Gutiérrez Hdez.
8
1.4.1.1
Jerarquía de Chomsky
Tipo 0: Lenguajes recursivamente enumerables, son reconocidos por máquinas deTuring Tipo 1: Lenguajes sensibles al contexto, son reconocidos autómatas lineales limitados Tipo 2: Lenguajes libres de contexto, son reconocidos por autómatas descendentes Tipo 3: Lenguajes regulares, son reconocidos por autómatas finitos
Cada tipo de lenguaje esta asociado a un tipo de máquina particular
2005 Alfredo Gutiérrez Hdez. 9
1.4.1.2
Backus Naur Form
Backus Naur Form (BNF)...
Regístrate para leer el documento completo.