You are on page 1of 22

1

INTRODUCCION...1 CLASIFICACION POR PARADIGMAS DE PROGRAMACIO......5 EVOLUCION DEL LENGUAJE IMPERATIVO....8 o PROGRAMACION NO ESTRUCTURADA............8 o PROGRAMACION PRODECIMENTAL.....9 o PROGRAMACION ESTRUCTURADA........11 o PROGRAMACION MODULAR......13 o TIPOS ABSTRACTOS DE DATOS........15 o PROGRAMACION ORIENTADA A OBJETOS....16 ESQUEMA FINAL....19 CONCLUSION...20 BIBLIOGRAFIA.21

- Qu es un paradigma de programacin?
Los paradigmas de programacin son propuestas tecnolgicas adoptadas por la Comunidad de desarrolladores que se enfocan a resolver uno o varios problemas definidos y delimitados. Un paradigma de programacin provee (y determina) la visin y mtodos de un programador en la construccin de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programacin y en diferentes formas de pensar la solucin de problemas (con la solucin de mltiples problemas se construye una aplicacin). Existen muchos paradigmas de programacin diferentes, cada uno de ellos tiene sus propias caractersticas y tratan de solucionar los problemas clsicos del desarrollo de software desde diferentes perspectivas y filosofas. Existen muchos paradigmas de programacin diferentes, pero el ms utilizado hoy en da es el de la programacin orientada a objetos. Algunos lenguajes de programacin puede soportar mltiples paradigmas de programacin. Por ejemplo, C++ puede ser utilizarse para desarrollar software usando para ello un modelo de programacin orientado a objetos o bien estructurado. En casos como el de C++, son los programadores los que deciden que utilizar. Por otro lado, algunos lenguajes han sido diseados para soportar un nico paradigma de programacin, ese es el caso de Smalltalk que soporta nicamente la programacin orientada a objetos o Haskell que solo soporta la programacin funcional.

Algunos paradigmas prohiben el uso de ciertos mecanismos o tcnicas. Por ejemplo, en la programacin funcional se elimina el uso del efecto secundario en las funciones mientras que en la programacin estructurada se desaprueba o incluso elimina el uso de la sentencia goto. Es realmente comn el diseo de lenguajes que soporten mltiples paradigmas de programacin. Estos lenguajes son aquellos que soportan al menos dos paradigmas. Dentro de esta categora podemos encontrar nuevas caras y viejos conocidos: Scala: Imperativo, orientado a objetos, funcional, genrico y concurrente

Erlang: Funcional, concurrente y distribuido Perl: Imperativo, orientado a objetos y funcional PHP: Imperativo, orientado a objetos, funcional y reflexivo JavaScript: Imperativo, orientado a objetos (prototipos) y funcional Java: Imperativo, orientado a objetos, reflexivo y genrico Python y Ruby: Imperativo, orientado a objetos, reflexivo y funcional C++: Imperativo, orientado a objetos, funcional y genrico C#: Imperativo, orientado a objetos, funcional (lambda), reflexivo y genrico

Estos son algunos ejemplos, existen lenguajes como Oz que soporta nueve paradigmas de programacin, para algunos es un acierto y para otros un error. En cualquier caso en este artculo no vamos a argumentar si soportar uno, dos, seis o diez paradigmas es un acierto o no, eso lo dejamos a decisin de cada cual.

Lenguajes de Programacin
Lenguajes de programacin Programar Plantear solucin a un problema mediante un Lenguaje de Programacin. El Paradigma de Programacin condiciona la forma en que se expresa la solucin a un problema. El Lenguaje de Programacin (que se encuadra en un determinado paradigma) es la herramienta que permite expresar nuestra solucin. Los lenguajes de programacin son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java,Javascript etc.. Los lenguajes de programacin facilitan la tarea de programacin, ya que disponen de
3

formas adecuadas que permiten ser ledas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar. Lenguaje de programacin es el idioma utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Hay muchos lenguajes de programacin, pero para programar no es necesario conocer todos los lenguajes, es igual que cuando hablamos, podemos comunicarnos en espaol aunque no sepamos alemn. Aunque la palabra deberia ser idioma ya que lenguaje realmente abarca todos los idiomas pero en computacin equivocadamente se usa el trmino lenguaje cuando el trmino correcto es idiomas de programacin. En la actualidad los lenguajes de programacin estan escritos para ser compresibles por el ser humano, a este cdigo se le llama cdigo fuente, pero no es comprendido por la mquina ya que esta solo maneja el lenguaje binario. La compilacin es el proceso de traducir un programa en cdigo fuente a programa en cdigo objeto (que usa el lenguaje binario), el programa encargado de compilar se llama compilador. La mayoria de software de programacin trae su propio compilador. Tipos de lenguajes de programacin Los lenguajes de programacin se clasifican en varios tipos, los hay por nivel, y por la forma como se ejecutan. Por nivel: Hay lenguajes de programacin de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de bajo nivel. Ejemplos de lenguajes de alto nivel: C++, Python, Java Ejemplos de lenguaje de bajo nivel: assembler Por la forma como se ejecutan Hay lenguajes compilados e interpretados. Los lenguajes compilados necesitan de un programa especial que lea el cdigo fuente y cree un archivo binario ejecutable para una plataforma especfica. Ejm: C++, Pascal. Los lenguajes interpretados necesitan de un programa que traduzca en directo el cdigo fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic Script. Los primeros son ms rpidos, mientras que los segundos son ms lentos, esto debido a que al compilar un programa las ordenes son ms entendibles para la computadora, mientras que al interpretarlo la mquina primero debe leer el cdigo y convertir al paso las instrucciones a instrucciones de mquina entendibles para ella.
4

10

10

11

11

12

12

13

13

14

14

15

15

16

16

17

17

18

18

19

19

20

20

21

En la actualidad no existe una buena definicin para cada paradigma. Los lenguajes actuales como Ruby, Actionscript o C# se definen mas como multi-paradigmas. Involucran mas de una sola caracterstica. Tambin are mencin de que la diferencia entre programacin estructurada y la orientada a objetos es grande, pues la mayor diferencia se encuentra en las ramas superiores. Las diferencian entre programacin imperativa y declarativa es incluso mas grande y compleja que las diferencias entre los "sub-paradigmas" dentro de la programacin imperativa

Como conclusin final dir que la programacin ha pasado por mltiples transformaciones para llegar a lo que es actualmente, siendo modificada en muchas ocasiones, de tal forma que todo sea mas fcil y mejor, corrigiendo errores y optimizando.

21

22

http://quegrande.org/apuntes/EI/1/EDI/teoria/07-08/tad_-_introduccion.pdf http://labsys.frc.utn.edu.ar/ppr-2009/Unidad%20I%20%20POO%20Avanzada/Apunte/Unidad%20I%20-%20POO%20Avanzada.pdf http://www.iqcelaya.itc.mx/~vicente/Programacion/Paradigmas.pdf http://ldc.usb.ve/~jferrer/herramientasProg/01Paradigmas.pdf http://www.genbetadev.com/paradigmas-de-programacion/diferencias-entre-paradigmas-deprogramacion http://es.scribd.com/doc/9174723/Paradigmas-de-Programacion http://www.buenastareas.com/ensayos/Paradigmas-De-La-Programacion-y-Cronologia/618792.html

22

You might also like