Lenguajes y paradigmas de programación · Que es un lenguaje de programación? Es una técnica de...

26
Lenguajes y paradigmas de programación

Transcript of Lenguajes y paradigmas de programación · Que es un lenguaje de programación? Es una técnica de...

  • Lenguajes y paradigmas de programacin

  • Temas

    Que es un programa?

    Que es un lenguaje de programacin?

    Caractersticas de los lenguajes de programacin

    Paradigmas de programacin

  • Que es un programa?

    La unin de una secuencia de instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la informacin sobre la que la operan las instrucciones

  • Que es un lenguaje de programacin?

    Es una tcnica de comunicacin estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente un computador)

    Como los lenguajes humanos, los lenguajes de programacin tienen reglas sintcticas y semnticas para definir el significado

  • Que es un lenguaje de programacin?

    Herramienta que permite a un programador especificar de manera precisa: sobre qu datos una computadora debe operar, cmo deben ser estos almacenados y transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias

  • Que es un lenguaje de programacin?

    Ejemplos:Visual BasicC/C++JAVAFORTRANLISP

  • Caractersticas de los lenguajes de programacin

    Tipos de datos

    Estructuras de datos

    Instrucciones y Control de flujo

    Filosofa de diseo

    Compilacin e Interpretacin

  • Tipos de datos

    Internamente, todos los datos de los computadores tradicionales estn guardados simplemente como ceros o unos(binario)

    Un solo valor en memoria puede ser interpretado de mltiples formas:

    10010110

    Hola

    Azul Rojo Verde

    150

  • Estructuras de Datos

    Variables

    Arreglos

    Listas

    205

    59 32 10

    6

    9 36

    23

    90 2 3 4 6

  • Instrucciones y Control de flujo

    int a = 0;

    while (a!=10){

    if (a==5){

    cout

  • Filosofa de diseo

    Cada lenguaje se desarrolla de acuerdo a un diseo especial o una filosofa

    Estos estn ligados al paradigma de programacin a utilizar

    Se refiere a la forma de hacer las cosas

  • Compilacin e Interpretacin

    Interptetes: analizan las instrucciones una a una y las ejecutan directamente

    Compiladores: convierten el cdigo fuente a cdigo de maquina para ser ejecutado posteriormente

  • Paradigmas de programacin

    Orientado a aspectos

    Concurrente

    Declarativo

    Funcional

    Imperativo

    Lgico

    Multiparadigma

    Orientado a objetos

    Scripting

  • Lenguajes Declarativos

    Describen un problema mas que definir una solucin

    Todos los lenguajes puramente funcionales y lgicos son Declarativos

    Ejemplos: ABSET, Lustre, MetaPost, Prolog, SQL, XSL Transformations

  • Lenguajes Funcionales

    Definen programas y subrutinas como funciones matematicas

    Muchos de estos lenguajes estanunidos a herramientas de calculo matematico

    Ejemplos: Clean, Erlang, Haskell, Mathematica

  • Lenguajes basados en logica

    Especifican un conjunto de atributos que una solucin debe tener, en vez de un conjunto de pasos para obtener la solucin

    En este paradigma se definen reglas lgicas y luego un motor de inferencia lgico permite extraer conclusiones o responder a preguntas planteadas al sistema

    Ejemplos: ALF, Curry, Prolog, Oz

  • Scripts

    En un sentido tradicional, los scripts estn diseados para automatizar tareas usadas frecuentemente que usualmente tienen que ver con llamar o pasar comandos a programas externos

  • Scripts

    Muchos programas de aplicacin complejos dejan a los usuarios implementar funciones personalizadas proveyndoles de un lenguaje propio.

    Muchos de estos deciden utilizar lenguajes de scripting tradicionales como el Perl o Visual Basic

  • Scripts

    Ejemplos:

    ActionScript

    JavaScript

    Perl

    PHP

    Phyton

    Ruby

  • Programacin imperativa

    Opuesta a la programacin declarativa, este paradigma describe la computacin en trminos de un estado del programa y de unas instrucciones que cambian dicho estado.

    Los programas imperativos son una secuencia de comandos para que el computador realice

  • Programacion Estructurada

    Hace uso de las estructuras de control de flujo

    Es Turing completa, esto quiere decir que todo algoritmo computable puede ser escrito en trminos de programacin estructurada

  • Programacin procedimental

    Es un paradigma de programacin basado en el concepto de llamado de procedimientos

    Procedimientos, tambien conocidos como rutinas, subrutinas, metodos o funciones simplemente consienen series de pasos computacionales.

    Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecucion de un programa, incluyendo otros procedimientos o en l mismo

  • Programacin procedimental

    Ejemplos:C

    Basic

    COBOL

    Matlab

    Pascal

  • Programacin Orientada a Objetos

    La idea detrs de la POO, es que un programa de computador puede ser visto como abarcando una coleccin de unidades individuales, objetos, que actan unos con otros

    Opuesto a la forma de ver tradicional en la cual un programa debe ser visto como una coleccin de procedimientos o simplemente una lista de instrucciones para el computador

  • Programacin Orientada a Objetos

    Cada objeto es capaz de recibir mensajes, procesar datos, y enviar mensajes a otros objetos.

    Es la unin de la programacin estructurada y procedimental con los tipos de datos abstractos

  • Programacin Orientada a Objetos

    Ejemplos:C++

    JAVA

    Ruby

    SmallTalk

    C#

    Delphi