SlideShare una empresa de Scribd logo
2
Lo más leído
5
Lo más leído
9
Lo más leído
Lenguajes de Programación
Paradigmas de Programación
Autor(es): • Mtr. Luis Fernando Aguas
Indice
1.¿ Qué es un lenguaje de programación ?
2.Abstracciones
3.Paradigmas de computación
4.Definición del lenguaje
5.Traducción del lenguaje
6.Historia
7.Preguntas
1.1 ¿ Qué es un LP ?
• Computación
• MáquinaTuring, tesis de Church
• Legibilidad por parte de la máquina
• Legibilidad por parte del ser humano
Definición: Un lenguaje de programación es un sistema
notacional para describir computaciones de una forma
legible tanto para la máquina como para el ser humano.
Lenguajes de programación: Paradigmas de Programación
1.2 Características
• Eficiencia
• Expresividad
• Capacidad de mantenimiento
• Legibilidad
• Confiabilidad
• Seguridad
• Simplicidad
• Productividad
1.3 Abstracciones
• Clases: Datos y control
• Niveles: básicas, estructuradas y unitarias
Abstracciones de datos:
● Básicas: tipos básicos (enteros, reales, ...)
● Estructuradas: tipos estructurados (arreglos, registros)
● Unitarias: Tipos abstractos de datos (TDAs), paquetes,
módulos, clases, componentes
1.3 Abstracciones
• Abstracciones de control
• Básicas: asignación, goto
• Estructuradas: condicionales e iteradores
• Unitarias: paquetes, módulos, hilos y tareas.
Un lenguaje de programación es completo en Turing
siempre que tenga variables enteras y aritméticas, y que
ejecute enunciados en forma secuencial, incluyendo
enunciados de asignación, selección e iteración.
1.4 Paradigmas de programación
• Imperativo
• modelo deVon Neuman, cuello de botella deVon Neuman
• Orientado a Objetos
• TDAs, encapsulación, modularidad, reutilización
• Funcional
• noción abstracta de función, cálculo lambda, recursividad, listas
• Lógico
• Lógica simbólica, programación declarativa
Paradigmas de Lenguajes
• Se reconoce generalmente 4 paradigmas de
programación:
• Imperativo (Estructurado)
• Aplicativo (Funcional)
• Orientado a Objetos
• Lógico
Lenguajes Imperativos
• Su objetivo es entender y definir el estado de la
máquina (conjunto de posiciones de memorias, cada
una conteniendo un valor).
• Lenguajes orientados a instrucciones
• El programa consiste en elaborar un conjunto de
instrucciones para que la máquina llegue a la
respuesta.
• Ejemplos: C, Fortran, Pascal, Cobol
• Sintaxis: S1, S2, S3, S4, …
Lenguajes Imperativos
 Programación: serie de pasos (input, cálculo, ouput).
 Elementos: abstracción procedural, asignación,
loops, secuencias, condicionales.
Lenguajes Funcionales
• Su objetivo es entender la función que produciría la
respuesta deseada.
• Es orientada hacia la composición de funciones.
• Programar consiste en construir la función que halle
la respuesta.
• Ejemplos: ML, Lisp, Scheme, Haskell
• Sintaxis: F1(F2(F3(x)))
Lenguajes Funcionales
• Programación: colección de funciones que se
combinan en formas complejas para construir
nuevas funciones.
• Elementos: alto orden, composición, recursión.
Orientados a Objetos
• Su objetivo es modelar el problema con elementos
similares a los realmente presentes.
• Programar significa generar objetos que
intercambian mensajes entre si para resolver un
problema.
• Ejemplos: Smalltalk, C++, Java, Squeak, C#
• Sintáxis: O1 ->mensaje-> O2.
Orientados a Objetos
• Lenguajes imperativos que unen diseños aplicativos
con sentencias imperativas.
• Sintaxis: Conjunto de objetos (clases) conteniendo
datos (concepto imperativo) y métodos (conceptos
aplicativos).
• Programación: colección de objetos que interactúan
pasándose mensajes que transforman estados.
• Elementos: modelado de objetos, clases, herencia,
encapsulamiento.
Lenguajes Lógicos
• Definen reglas para decidir cuando la respuesta ha
sido alcanzada.
• Utiliza un conjunto de reglas para deducir los
atributos de la respuesta.
• Ejemplos: Prolog
• Sintaxis: Regla -> Conclusión
1.5 Definición del lenguaje
• Sintaxis (estructura)
• Gramáticas libres de contexto, estructura léxica, tokens
• Semántica (significado)
• Lenguaje natural
• Semántica operacional
• Semántica denotacional
1.6Traducción del lenguaje
• Traductor es un programa que acepta otros programas
escritos en un lenguaje y:
• los ejecuta directamente (interprete)
• los transforma en una forma adecuada para su ejecución
(compilador).
entrada
código
fuente
salidaintérprete
1.6Traducción
• Pseudointérpretes: intermedio entre interprete y
compilador: lenguajes intermedios
• Operaciones de un traductor: analizador léxico (tokens),
analizador sintáctico, analizador semántico,
preprocesador
código
fuente
traducción
adicional
compilación
código
objeto
código
ejecutable
1.6Traducción
• Tiempo de compilación y tiempo de ejecución
• Propiedades estáticas: tiempo de compilación
• Propiedades dinámicas: tiempo de ejecución
• Recuperación de errores (compilación y ejecución)
• Eficiencia y optimización (compilación o ejecución)
1.7 Historia
FORTRAN
AlGOL 60 COBOL
50
60
70
80
90
Simula
Smalltalk
Pascal
Ada
C
PL/I
LISP
ML
Miranda
Prolog
1.7 Historia
1950 1960 1970 1980 1990
Fortran(54)
PL/I(66)
Ada(95)
Java(96)
Basic(66)
C(72)
Pascal(70)
Cobol(58)
Algol(60)
Simula(67) Smalltalk(80)
C++(89)
ENSAMBLADOR
Eiffel (86)
Ada(83)
Lenguajes de programación: Paradigmas de Programación
¿Qué hace a un lenguaje bueno?
• Naturalidad de la aplicación
• La estructura del programa refleja la estructura lógica del
algoritmo.
• Cada lenguaje generalmente se especializa en un campo
de acción determinado y es más fácil resolver ciertos
problemas con él.
¿Qué hace a un lenguaje bueno?
• Facilidad de verificación
• Debe proveer una manera de corroborar que el programa
efectivamente realiza su tarea.
• Una sintaxis sencilla facilita la verificación.
¿Qué hace a un lenguaje bueno?
• Ambiente de programación
• Debe contar con un entorno que facilite la programación
en el lenguaje.
• Generalmente lenguajes no tan buenos, pero que tienen
un buen entorno de programación, son más usados en el
mercado.
¿Qué hace a un lenguaje bueno?
• Portabilidad
• Que tan fácil se puede transportar la aplicación de la
máquina en que se desarrolló a otras máquinas donde va a
ser ejecutada.
• El mejor ejemplo de esto es programación para Internet.
¿Qué hace a un lenguaje bueno?
• Costo de uso
• Costo de ejecución
• Costo de traducción
• Costo de creación, prueba y uso
• Costo de mantenimiento

Más contenido relacionado

PPT
Ejercicios
DOCX
Algoritmo variables, constantes, tipos de datos y asignacion
PPT
Lenguajes De Bajo Nivel
DOCX
Cuadro sinóptico estructuras de datos y su clasificación
PDF
Algebra Relacional
PDF
Tipos de Datos Abstractos (TDA)
PDF
Sistemas operativos por estructura
PPTX
Estructura básica de un programa en C++
Ejercicios
Algoritmo variables, constantes, tipos de datos y asignacion
Lenguajes De Bajo Nivel
Cuadro sinóptico estructuras de datos y su clasificación
Algebra Relacional
Tipos de Datos Abstractos (TDA)
Sistemas operativos por estructura
Estructura básica de un programa en C++

La actualidad más candente (20)

PPT
Jerarquia de chomsky
PDF
Ejercicios resueltos de c++
DOCX
Caracteristicas rup
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
PPTX
PPTX
PPTX
2 2 estilos arquitectonicos
PPTX
Mapa Conceptual del Lenguaje C
PPTX
Listas,pilas y colas Estructura de Datos
PPSX
Proyecto de software
PDF
Casos de éxito de TSP en México
PDF
Estructura Repetitiva MIENTRAS (While) con PSeInt
PDF
PPTX
Clase4: Transformación desde Expresión regular a Autómata finito determinista
PDF
Paradigmas de programacion
PPTX
Compiladores, Analisis Lexico
PPTX
Presentación de fases de diseño de base de datos
PPTX
Vistas Arquitectonicas Ingenieria de Software
PDF
Lenguajes Regulares y Autómatas Finitos - Clase 6
Jerarquia de chomsky
Ejercicios resueltos de c++
Caracteristicas rup
Estructura de Datos - Unidad 5 metodos de ordenamiento
2 2 estilos arquitectonicos
Mapa Conceptual del Lenguaje C
Listas,pilas y colas Estructura de Datos
Proyecto de software
Casos de éxito de TSP en México
Estructura Repetitiva MIENTRAS (While) con PSeInt
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Paradigmas de programacion
Compiladores, Analisis Lexico
Presentación de fases de diseño de base de datos
Vistas Arquitectonicas Ingenieria de Software
Lenguajes Regulares y Autómatas Finitos - Clase 6
Publicidad

Similar a Lenguajes de programación: Paradigmas de Programación (20)

PPT
Lenguajes de Programación. Conceptos.ppt
PPT
Tema1 prog logica
PPTX
Tema 2 Lenguajes de Programación - Final.pptx
PPT
Introducción Lenguajes de Programación Actualizado
PPT
tema1.ppt
PPT
PPT
PPTX
Lenguaje de programacion
PPTX
Lenguajes de programación
PPTX
programacion
PDF
Lógica de programación - Análisis y Datos
PPTX
Lenguajes de programación
PPTX
Presentación "Estructura de un Programa"
PPTX
Niveles y tipos de lenguajes de programación
DOCX
Paradigmas de programación
PPTX
Lenguajes basicos para robots
PDF
Lenguajes de programacion
PDF
Lenguajes de programacion
PPT
Programacion Orientada Objetos
Lenguajes de Programación. Conceptos.ppt
Tema1 prog logica
Tema 2 Lenguajes de Programación - Final.pptx
Introducción Lenguajes de Programación Actualizado
tema1.ppt
Lenguaje de programacion
Lenguajes de programación
programacion
Lógica de programación - Análisis y Datos
Lenguajes de programación
Presentación "Estructura de un Programa"
Niveles y tipos de lenguajes de programación
Paradigmas de programación
Lenguajes basicos para robots
Lenguajes de programacion
Lenguajes de programacion
Programacion Orientada Objetos
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX

Último (20)

PPT
transformadores-monofasicos-y transformador-ppt.ppt
DOCX
PLAN ANUAL DE EPT CONSTRUCCIÓN METÁLICA 2°.docx
PPTX
Sistema de embrague del automóvil de tracción delantera
PPT
Autotrónica 2 - clase 4 - CMP - CKP .ppt
PPTX
predica de noche de oración.pptasazxzxzxzx
PPTX
DIAPOSITIVAS DE RAÙL..pptxMMMMMMMMMMMMMM
PDF
Manual Usuario Automovil Volkswagen Taos 2023
PPTX
BATERIA HV.pptxhgjjhgcxgjjhhgggggggfffhhjb
PPTX
5. costo horario maquinaria pesada y liviana.pptx
PDF
OBD - II LO MAXIMOMMMMMMMMMMMMMMMMMMMMMM
PPTX
BANDA DE BLOQUEO DE LA CAJA AUTOMATICA..pptx
PPTX
aspectos de gonartrosis primaria en el primer nivel
PPTX
Clases gestión financiera y gestión de clientes.pptx
PPTX
curso de manejo extensonnnnnnpppppp.pptx
PPTX
RESISTENCIAS Y SEMICONDUCTORES electronica.pptx
PPTX
Actividades ppt.pptxksksjsjskdkdckfkkqalldl
PPTX
SESION 2 - Reforzamiento.pptxXCZXZXXXXXXXXXXXXXXXXX
PPTX
EL MOTOR GCTDFVHJBUYHV FHBHGVGVHJH H VFHG
PPTX
Presentación Proyecto Escolar Moderno Negro.pptx
PPTX
PPTS3_DESPROYINV_<wwwwwwwwwwwwwwwwwwwwwwPRES-2025-1.pptx
transformadores-monofasicos-y transformador-ppt.ppt
PLAN ANUAL DE EPT CONSTRUCCIÓN METÁLICA 2°.docx
Sistema de embrague del automóvil de tracción delantera
Autotrónica 2 - clase 4 - CMP - CKP .ppt
predica de noche de oración.pptasazxzxzxzx
DIAPOSITIVAS DE RAÙL..pptxMMMMMMMMMMMMMM
Manual Usuario Automovil Volkswagen Taos 2023
BATERIA HV.pptxhgjjhgcxgjjhhgggggggfffhhjb
5. costo horario maquinaria pesada y liviana.pptx
OBD - II LO MAXIMOMMMMMMMMMMMMMMMMMMMMMM
BANDA DE BLOQUEO DE LA CAJA AUTOMATICA..pptx
aspectos de gonartrosis primaria en el primer nivel
Clases gestión financiera y gestión de clientes.pptx
curso de manejo extensonnnnnnpppppp.pptx
RESISTENCIAS Y SEMICONDUCTORES electronica.pptx
Actividades ppt.pptxksksjsjskdkdckfkkqalldl
SESION 2 - Reforzamiento.pptxXCZXZXXXXXXXXXXXXXXXXX
EL MOTOR GCTDFVHJBUYHV FHBHGVGVHJH H VFHG
Presentación Proyecto Escolar Moderno Negro.pptx
PPTS3_DESPROYINV_<wwwwwwwwwwwwwwwwwwwwwwPRES-2025-1.pptx

Lenguajes de programación: Paradigmas de Programación

  • 1. Lenguajes de Programación Paradigmas de Programación Autor(es): • Mtr. Luis Fernando Aguas
  • 2. Indice 1.¿ Qué es un lenguaje de programación ? 2.Abstracciones 3.Paradigmas de computación 4.Definición del lenguaje 5.Traducción del lenguaje 6.Historia 7.Preguntas
  • 3. 1.1 ¿ Qué es un LP ? • Computación • MáquinaTuring, tesis de Church • Legibilidad por parte de la máquina • Legibilidad por parte del ser humano Definición: Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano.
  • 5. 1.2 Características • Eficiencia • Expresividad • Capacidad de mantenimiento • Legibilidad • Confiabilidad • Seguridad • Simplicidad • Productividad
  • 6. 1.3 Abstracciones • Clases: Datos y control • Niveles: básicas, estructuradas y unitarias Abstracciones de datos: ● Básicas: tipos básicos (enteros, reales, ...) ● Estructuradas: tipos estructurados (arreglos, registros) ● Unitarias: Tipos abstractos de datos (TDAs), paquetes, módulos, clases, componentes
  • 7. 1.3 Abstracciones • Abstracciones de control • Básicas: asignación, goto • Estructuradas: condicionales e iteradores • Unitarias: paquetes, módulos, hilos y tareas. Un lenguaje de programación es completo en Turing siempre que tenga variables enteras y aritméticas, y que ejecute enunciados en forma secuencial, incluyendo enunciados de asignación, selección e iteración.
  • 8. 1.4 Paradigmas de programación • Imperativo • modelo deVon Neuman, cuello de botella deVon Neuman • Orientado a Objetos • TDAs, encapsulación, modularidad, reutilización • Funcional • noción abstracta de función, cálculo lambda, recursividad, listas • Lógico • Lógica simbólica, programación declarativa
  • 9. Paradigmas de Lenguajes • Se reconoce generalmente 4 paradigmas de programación: • Imperativo (Estructurado) • Aplicativo (Funcional) • Orientado a Objetos • Lógico
  • 10. Lenguajes Imperativos • Su objetivo es entender y definir el estado de la máquina (conjunto de posiciones de memorias, cada una conteniendo un valor). • Lenguajes orientados a instrucciones • El programa consiste en elaborar un conjunto de instrucciones para que la máquina llegue a la respuesta. • Ejemplos: C, Fortran, Pascal, Cobol • Sintaxis: S1, S2, S3, S4, …
  • 11. Lenguajes Imperativos  Programación: serie de pasos (input, cálculo, ouput).  Elementos: abstracción procedural, asignación, loops, secuencias, condicionales.
  • 12. Lenguajes Funcionales • Su objetivo es entender la función que produciría la respuesta deseada. • Es orientada hacia la composición de funciones. • Programar consiste en construir la función que halle la respuesta. • Ejemplos: ML, Lisp, Scheme, Haskell • Sintaxis: F1(F2(F3(x)))
  • 13. Lenguajes Funcionales • Programación: colección de funciones que se combinan en formas complejas para construir nuevas funciones. • Elementos: alto orden, composición, recursión.
  • 14. Orientados a Objetos • Su objetivo es modelar el problema con elementos similares a los realmente presentes. • Programar significa generar objetos que intercambian mensajes entre si para resolver un problema. • Ejemplos: Smalltalk, C++, Java, Squeak, C# • Sintáxis: O1 ->mensaje-> O2.
  • 15. Orientados a Objetos • Lenguajes imperativos que unen diseños aplicativos con sentencias imperativas. • Sintaxis: Conjunto de objetos (clases) conteniendo datos (concepto imperativo) y métodos (conceptos aplicativos). • Programación: colección de objetos que interactúan pasándose mensajes que transforman estados. • Elementos: modelado de objetos, clases, herencia, encapsulamiento.
  • 16. Lenguajes Lógicos • Definen reglas para decidir cuando la respuesta ha sido alcanzada. • Utiliza un conjunto de reglas para deducir los atributos de la respuesta. • Ejemplos: Prolog • Sintaxis: Regla -> Conclusión
  • 17. 1.5 Definición del lenguaje • Sintaxis (estructura) • Gramáticas libres de contexto, estructura léxica, tokens • Semántica (significado) • Lenguaje natural • Semántica operacional • Semántica denotacional
  • 18. 1.6Traducción del lenguaje • Traductor es un programa que acepta otros programas escritos en un lenguaje y: • los ejecuta directamente (interprete) • los transforma en una forma adecuada para su ejecución (compilador). entrada código fuente salidaintérprete
  • 19. 1.6Traducción • Pseudointérpretes: intermedio entre interprete y compilador: lenguajes intermedios • Operaciones de un traductor: analizador léxico (tokens), analizador sintáctico, analizador semántico, preprocesador código fuente traducción adicional compilación código objeto código ejecutable
  • 20. 1.6Traducción • Tiempo de compilación y tiempo de ejecución • Propiedades estáticas: tiempo de compilación • Propiedades dinámicas: tiempo de ejecución • Recuperación de errores (compilación y ejecución) • Eficiencia y optimización (compilación o ejecución)
  • 21. 1.7 Historia FORTRAN AlGOL 60 COBOL 50 60 70 80 90 Simula Smalltalk Pascal Ada C PL/I LISP ML Miranda Prolog
  • 22. 1.7 Historia 1950 1960 1970 1980 1990 Fortran(54) PL/I(66) Ada(95) Java(96) Basic(66) C(72) Pascal(70) Cobol(58) Algol(60) Simula(67) Smalltalk(80) C++(89) ENSAMBLADOR Eiffel (86) Ada(83)
  • 24. ¿Qué hace a un lenguaje bueno? • Naturalidad de la aplicación • La estructura del programa refleja la estructura lógica del algoritmo. • Cada lenguaje generalmente se especializa en un campo de acción determinado y es más fácil resolver ciertos problemas con él.
  • 25. ¿Qué hace a un lenguaje bueno? • Facilidad de verificación • Debe proveer una manera de corroborar que el programa efectivamente realiza su tarea. • Una sintaxis sencilla facilita la verificación.
  • 26. ¿Qué hace a un lenguaje bueno? • Ambiente de programación • Debe contar con un entorno que facilite la programación en el lenguaje. • Generalmente lenguajes no tan buenos, pero que tienen un buen entorno de programación, son más usados en el mercado.
  • 27. ¿Qué hace a un lenguaje bueno? • Portabilidad • Que tan fácil se puede transportar la aplicación de la máquina en que se desarrolló a otras máquinas donde va a ser ejecutada. • El mejor ejemplo de esto es programación para Internet.
  • 28. ¿Qué hace a un lenguaje bueno? • Costo de uso • Costo de ejecución • Costo de traducción • Costo de creación, prueba y uso • Costo de mantenimiento