Paradigmas de La Programacion

1  INTRODUCCION…………………………………………………………….…..1  CLASIFICACION POR PARADIGMAS DE PROGRAMACIO…......…5  EVOLUCION DEL LEN

Views 85 Downloads 6 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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

1

2

- Qué es un paradigma de programación? Los paradigmas de programación son propuestas tecnológicas adoptadas por la Comunidad de desarrolladores que se enfocan a resolver uno o varios problemas definidos y delimitados. Un paradigma de programación provee (y determina) la visión y métodos de un programador en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación). Existen muchos paradigmas de programación diferentes, cada uno de ellos tiene sus propias características y tratan de solucionar los problemas clásicos del desarrollo de software desde diferentes perspectivas y filosofías. Existen muchos paradigmas de programación diferentes, pero el más utilizado hoy en día es el de la programación orientada a objetos. Algunos lenguajes de programación puede soportar múltiples paradigmas de programación. Por ejemplo, C++ puede ser utilizarse para desarrollar software usando para ello un modelo de programación 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 diseñados para soportar un único paradigma de programación, ese es el caso de Smalltalk que soporta únicamente la programación orientada a objetos o Haskell que solo soporta la programación funcional.

2

3

Algunos paradigmas prohiben el uso de ciertos mecanismos o técnicas. Por ejemplo, en la programación funcional se elimina el uso del efecto secundario en las funciones mientras que en la programación estructurada se desaprueba o incluso elimina el uso de la sentencia goto. Es realmente común el diseño de lenguajes que soporten múltiples paradigmas de programación. Estos lenguajes son aquellos que soportan al menos dos paradigmas. Dentro de esta categoría podemos encontrar nuevas caras y viejos conocidos:  Scala: Imperativo, orientado a objetos, funcional, genérico 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 genérico



Python y Ruby: Imperativo, orientado a objetos, reflexivo y funcional



C++: Imperativo, orientado a objetos, funcional y genérico



C#: Imperativo, orientado a objetos, funcional (lambda), reflexivo y genérico

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

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

4

formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar. Lenguaje de programación es el idioma utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Hay muchos lenguajes de programación, pero para programar no es necesario conocer todos los lenguajes, es igual que cuando hablamos, podemos comunicarnos en español aunque no sepamos alemán. Aunque la palabra deberia ser idioma ya que lenguaje realmente abarca todos los idiomas pero en computación equivocadamente se usa el término lenguaje cuando el término correcto es idiomas de programación. En la actualidad los lenguajes de programación estan escritos para ser compresibles por el ser humano, a este código se le llama código fuente, pero no es comprendido por la máquina ya que esta solo maneja el lenguaje binario. La compilación es el proceso de traducir un programa en código fuente a programa en código objeto (que usa el lenguaje binario), el programa encargado de compilar se llama compilador. La mayoria de software de programación trae su propio compilador. Tipos de lenguajes de programación Los lenguajes de programación se clasifican en varios tipos, los hay por nivel, y por la forma como se ejecutan. Por nivel: Hay lenguajes de programación 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 código fuente y cree un archivo binario ejecutable para una plataforma específica. Ejm: C++, Pascal. Los lenguajes interpretados necesitan de un programa que traduzca en directo el código fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejm: Python, Visual Basic Script. Los primeros son más rápidos, mientras que los segundos son más lentos, esto debido a que al compilar un programa las ordenes son más entendibles para la computadora, mientras que al interpretarlo la máquina primero debe leer el código y convertir al paso las instrucciones a instrucciones de máquina entendibles para ella. 4

5

5

6

6

7

7

8

8

9

9

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 definición para cada paradigma. Los lenguajes actuales como Ruby, Actionscript o C# se definen mas como multi-paradigmas. Involucran mas de una sola característica. También are mención de que la diferencia entre programación estructurada y la orientada a objetos es grande, pues la mayor diferencia se encuentra en las ramas superiores. Las diferencian entre programación imperativa y declarativa es incluso mas grande y compleja que las diferencias entre los "sub-paradigmas" dentro de la programación imperativa

Como conclusión final diré que la programación ha pasado por múltiples transformaciones para llegar a lo que es actualmente, siendo modificada en muchas ocasiones, de tal forma que todo sea mas fácil 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