programacion orientada objetos

Post on 13-Jun-2015

2.974 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lenguajes y paradigmas de programación

Iván Felipe Álvarez

GEMIS-OEEAFIT 2006

Temas Que es un programa? Que es un lenguaje de

programación? Características de los lenguajes de

programación Paradigmas de programación

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

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

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

Que es un lenguaje de programación? Ejemplos:

Visual BasicC/C++JAVAFORTRANLISP

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

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

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 << “La variable a va en 5”;

}a++;

}b=a

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

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

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

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

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

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

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

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

Scripts Ejemplos:

ActionScriptJavaScriptPerlPHPPhytonRuby

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

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

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

Programación procedimental Ejemplos:

CBasicCOBOLMatlabPascal

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

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

Programación Orientada a Objetos Ejemplos:

C++JAVARubySmallTalkC#Delphi

top related