programacion orientada objetos

26
Lenguajes y paradigmas de programación Iván Felipe Álvarez GEMIS-OE EAFIT 2006

Upload: liliandrade

Post on 13-Jun-2015

2.972 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Programacion Orientada Objetos

Lenguajes y paradigmas de programación

Iván Felipe Álvarez

GEMIS-OEEAFIT 2006

Page 2: Programacion Orientada Objetos

Temas Que es un programa? Que es un lenguaje de

programación? Características de los lenguajes de

programación Paradigmas de programación

Page 3: Programacion Orientada Objetos

Que es un programa? La unión de una secuencia de

instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la información sobre la que la operan las instrucciones

Page 4: Programacion Orientada Objetos

Que es un lenguaje de programación? Es una técnica de comunicación

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

Como los lenguajes humanos, los lenguajes de programación tienen reglas sintácticas y semánticas para definir el significado

Page 5: Programacion Orientada Objetos

Que es un lenguaje de programación? Herramienta que permite a un

programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias

Page 6: Programacion Orientada Objetos

Que es un lenguaje de programación? Ejemplos:

Visual BasicC/C++JAVAFORTRANLISP

Page 7: Programacion Orientada Objetos

Características de los lenguajes de programación Tipos de datos Estructuras de datos Instrucciones y Control de flujo Filosofía de diseño Compilación e Interpretación

Page 8: Programacion Orientada Objetos

Tipos de datos Internamente, todos los datos de los

computadores tradicionales están guardados simplemente como ceros o unos(binario)

Un solo valor en memoria puede ser interpretado de múltiples formas:

10010110“Hola”Azul – Rojo – Verde150

Page 9: Programacion Orientada Objetos

Estructuras de Datos Variables

Arreglos

Listas

205

59 32 10

6

9 36

23

90 2 3 4 6

Page 10: Programacion Orientada Objetos

Instrucciones y Control de flujo

int a = 0;while (a!=10){

if (a==5){cout << “La variable a va en 5”;

}a++;

}b=a

Page 11: Programacion Orientada Objetos

Filosofía de diseño Cada lenguaje se desarrolla de

acuerdo a un diseño especial o una filosofía

Estos están ligados al paradigma de programación a utilizar

Se refiere a la forma de hacer las cosas

Page 12: Programacion Orientada Objetos

Compilación e Interpretación Interptetes: analizan las

instrucciones una a una y las ejecutan directamente

Compiladores: convierten el código fuente a código de maquina para ser ejecutado posteriormente

Page 13: Programacion Orientada Objetos

Paradigmas de programación Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lógico Multiparadigma Orientado a objetos Scripting

Page 14: Programacion Orientada Objetos

Lenguajes Declarativos Describen un problema mas que

definir una solución Todos los lenguajes puramente

funcionales y lógicos son Declarativos

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

Page 15: Programacion Orientada Objetos

Lenguajes Funcionales Definen programas y subrutinas

como funciones matematicas Muchos de estos lenguajes estan

unidos a herramientas de calculo matematico

Ejemplos: Clean, Erlang, Haskell, Mathematica

Page 16: Programacion Orientada Objetos

Lenguajes basados en logica Especifican un conjunto de atributos que

una solución debe tener, en vez de un conjunto de pasos para obtener la solución

En este paradigma se definen reglas lógicas y luego un motor de inferencia lógico permite extraer conclusiones o responder a preguntas planteadas al sistema

Ejemplos: ALF, Curry, Prolog, Oz

Page 17: Programacion Orientada Objetos

Scripts En un sentido tradicional, los scripts

están diseñados para automatizar tareas usadas frecuentemente que usualmente tienen que ver con llamar o pasar comandos a programas externos

Page 18: Programacion Orientada Objetos

Scripts Muchos programas de aplicación

complejos dejan a los usuarios implementar funciones personalizadas proveyéndoles de un lenguaje propio.

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

Page 19: Programacion Orientada Objetos

Scripts Ejemplos:

ActionScriptJavaScriptPerlPHPPhytonRuby

Page 20: Programacion Orientada Objetos

Programación imperativa Opuesta a la programación

declarativa, este paradigma describe la computación en términos 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

Page 21: Programacion Orientada Objetos

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 términos de programación estructurada

Page 22: Programacion Orientada Objetos

Programación procedimental Es un paradigma de programación 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

Page 23: Programacion Orientada Objetos

Programación procedimental Ejemplos:

CBasicCOBOLMatlabPascal

Page 24: Programacion Orientada Objetos

Programación Orientada a Objetos La idea detrás de la POO, es que un

programa de computador puede ser visto como abarcando una colección de unidades individuales, objetos, que actúan unos con otros

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

Page 25: Programacion Orientada Objetos

Programación Orientada a Objetos Cada objeto es capaz de recibir

mensajes, procesar datos, y enviar mensajes a otros objetos.

Es la unión de la programación estructurada y procedimental con los tipos de datos abstractos

Page 26: Programacion Orientada Objetos

Programación Orientada a Objetos Ejemplos:

C++JAVARubySmallTalkC#Delphi