Anda di halaman 1dari 20

Universidad Tecnolgica Nacional Facultad Regional Resistencia

Paradigmas de Programacin
Introduccin

Paradigmas
Un paradigma est constituido por los supuestos tericos generales, las leyes y las tcnicas para su aplicacin que adoptan los miembros de una determinada comunidad cientfica. Es un modelo o esquema fundamental que organiza nuestras opiniones con respecto a algn tema en particular. Los paradigmas establecen lmites, para resolver problemas dentro de estos, y de esta forma mejorar o proporcionar nuevas soluciones, ya que estos filtran experiencias, se ajustan a los lmites, percepciones o creencias.

UTN FRRe

Paradigmas

UTN FRRe

Paradigmas
Antonio, padre de Roberto, un nio de 8 aos, sale manejando desde su casa. Roberto, va con l. En el camino se produce un terrible accidente. Un camin, que vena de frente, se sale de su sector de la autopista y embiste de frente al auto de Antonio. El impacto mata instantneamente a Antonio, pero Roberto sigue con vida. Una ambulancia lo traslada al hospital. Ni bien llega, los mdicos de guardia comienzan a tratar al nene con mucha dedicacin pero, luego de charlar entre ellos y estabilizarle las condiciones vitales, deciden que no pueden resolver el problema de Roberto. Necesitan consultar. Luego de las consultas pertinentes, se comunican con una eminencia en el tema. Los mdicos del lugar le presentan el caso y esperan ansiosos su opinin. Finalmente, uno de ellos es el primero en hablar: Est usted en condiciones de tratar al nene?, obtiene la siguiente respuesta: Cmo no lo voy a tratar si es mi hijo!. No hay trampas. No hay nada oculto. Antonio no es el padrastro. Antonio no es cura. Pensemos la manera que esto tenga sentido.
UTN FRRe

Paradigmas de Programacin
Representan un enfoque particular o filosofa para la construccin del software.
Programming paradigms are heuristics used for algorithmic problem solving. A programming paradigm formulates a solution for a given problem by breaking the solution down to specific building blocks and defining the relationship among them.
Paradigma Bloques de Construccin Funciones Procedimientos o Secuencia de Comandos Clases Relaciones entre los bloques de construccin Composicion Jerarqua Herencia

Funcional Procedural Orientado a Objetos

UTN FRRe

Paradigmas de Programacin
El paradigma imperativo es considerado el ms comn y est representado, por ejemplo, C, Pascal, COBOL. (Procedural: cuando usa procedimientos o funciones) El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk. El paradigma funcional est representado por la familia de lenguajes LISP. Otro podra se ser Haskell. El paradigma lgico, un ejemplo es PROLOG.
UTN FRRe

Un poco de Historia
Los lenguajes de programacin de nuestros das fueron desarrollados a principios de los aos 50. Numerosos conceptos fueron inventados, probados e incorporados a distintos lenguajes. No son un producto terminado sino que nuevos y revolucionarios conceptos y paradigmas estn siendo desarrollados.

UTN FRRe

Un poco de Historia 2
1950 Fortran Lisp 1960 Simula 1970
Smalltalk

Algol-60 PL/I

Cobol

Pascal

Algol-68

C ML

Prolog

1980

Ada

Miranda 1990

2000
Lenguajes orientados a objetos Lenguajes Imperativos y Concurrentes Lenguajes funcionales Lenguajes lgicos

UTN FRRe

Paradigma Imperativo
Fortran introdujo las expresiones simblicas y subprogramas con parmetros. COBOL introdujo el concepto de descripcin de datos. El Algol-60 introdujo el concepto de estructura de bloques, variables, procedimientos, etc. Influenci a numerosos lenguajes posteriores tan fuertemente que fueron llamados lenguajes estilo Algol. Pascal fue el lenguaje estilo Algol que se hizo ms popular porque es simple, sistemtico e implementado eficientemente.

UTN FRRe

Paradigma Imperativo 2
Describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cmo realizar una tarea. Las recetas y las listas de revisin de procesos, a pesar de no ser programas de computadora, son tambin conceptos familiares similares en estilo a la programacin imperativa; cada paso es una instruccin. La programacin imperativa recibe este nombre porque est basada en comandos que actualizan variables contenidas en almacenamientos.
UTN FRRe

Paradigma Imperativo 3
Tiene estrecha relacin para modelar el mundo real. Se caracteriza esencialmente porque las instrucciones que lo componen se ejecutan secuencialmente en un orden preestablecido. La unidad base de ejecucin es el programa o conjunto de instrucciones ejecutables, que se divide en una serie de mdulos o rutinas distribuidos de acuerdo con una organizacin jerrquica. En este tipo de programacin los datos estn desorganizados, son meros apndices de los programas y tan solo proporcionan valores que sirven para realizar clculos.

UTN FRRe

Paradigma Imperativo 4
Uno de los programas situados en la raz de la jerarqua recibe el nombre de programa principal y los dems se conocen con el nombre de subprogramas, subrutinas, funciones o procedimientos. En cuanto a los datos, dependiendo del lenguaje que se trate pueden ser globales, accesibles por todos los programas de la jerarqua, o locales, utilizables solo por el programa al que pertenece. Dentro de este tipo de programacin podemos encontrar dos divisiones:
programacin estructurada o programacin sin GOTO: presenta bastantes ventajas en cuanto a la facilidad de modularizacin, documentacin y mantenimiento de los programas; programacin no estructurada que permiten realizar saltos incondicionales en la ejecucin del programa mediante instrucciones GOTO.

UTN FRRe

Paradigma Orientado a Objetos


Es el paradigma que est tomando mayor auge en los ltimos aos. La programacin orientada a objetos deriva de conceptos introducidos por Simula, otro lenguaje del estilo Algol. Smalltalk est basado en clases de objetos, un objeto viene a ser como una variable que puede accederse slo a travs de operaciones asociadas con l.

UTN FRRe

Paradigma Orientado a Objetos 2


Los objetos que son entidades que combinan estado (es decir, datos) y comportamiento (esto es, procedimientos o mtodos). La programacin orientada a objetos expresa un programa como un conjunto de estos objetos, que se comunican entre ellos para realizar tareas. Lenguajes procedurales: escriben funciones y despus les pasan datos. Lenguajes orientados a objetos definen objetos con datos y mtodos y despus envan mensajes a los objetos diciendo que realicen esos mtodos en s mismos.

UTN FRRe

Paradigma Funcional
Estn basados en el clculo lambda (o -clculo), de Alonso Church. LISP fue el primer lenguaje basado enteramente en el Clculo Lambda. Lisp en su forma pura, est basado enteramente en funciones sobre listas y rboles. Los lenguajes funcionales modernos, tratan a las funciones como valores de primera clase e incorporan tambin un sistema de tipos avanzado.
UTN FRRe

Paradigma Funcional 2
La secuencia de computaciones llevadas a cabo por el programa se regira nica y exclusivamente por la reescritura de definiciones ms amplias a otras cada vez ms concretas y definidas. Los programas escritos en un lenguaje funcional estn constituidos nicamente por definiciones de funciones Se verifican ciertas propiedades como la transparencia referencial (el significado de una expresin depende nicamente del significado de sus subexpresiones). No existe asignaciones de variables. Falta de construcciones estructuradas como la secuencia o la iteracin (solo recursin)
UTN FRRe

Paradigma Funcional 3
Entre los lenguajes funcionales puros:
Haskell Miranda

Los lenguajes funcionales hbridos:


Lisp Scheme Ocaml Standard ML (estos dos ltimos, descendientes del lenguaje ML).
UTN FRRe

:Paradigma Lgico
Un lenguaje de programacin lgica est basado en un subconjunto de la lgica matemtica. La computadora es programada para inferir relaciones entre valores ms que calcular valores de salida a partir de valores de entrada. PROLOG hizo a la programacin lgica popular y es ms bien dbil e ineficiente, sin embargo fue modificado para agregarle caractersticas no lgicas para hacerlo ms usable como lenguaje de programacin.
UTN FRRe

:Paradigma Lgico 2
La mayora de estos lenguajes se basan en la lgica de predicados. Se definen propiedades de los objetos del dominio de referencia y relaciones entre ellos a travs de frmulas, las cuales usan normalmente el conector implicacin.

UTN FRRe

Paradigma Orientado a Eventos


La programacin dirigida por eventos es un paradigma de programacin en el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen. Ser el propio usuario -o lo que sea que est accionando el programa- el que dirija el flujo del mismo. Se llevarn a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar bloqueado hasta que se produzca algn evento. Clic del mouse. Llegada de un mensaje por la red.
UTN FRRe

Anda mungkin juga menyukai