Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 19-09-2012
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Y esto, ¿no es como un retroceso? ¿De qué va este haskell? ¿Es similar a lisp? ¿En qué áreas se usa?

// Saludos
Retroceso en que?

Algo que me tomo tiempo entender es que no existe una linea ascendete tipo:

Programacion Imperativa < Estructural < Objetos

Sino familias de lenguajes. Por lo tanto, no hay retroceso en pasar de una familia a otra (algo que hacemos todo el tiempo, por ejemplo al usar un lenguaje declarativo como SQL o HTML).

La programacion funcional es la OPUESTA a la orientada a objetos. En OO se tiende a enfatizar todo en el sustantivo, mientras en la funcional en el paso de datos.

La primera vez que entendi la diferencia fue leyendo:

http://steve-yegge.blogspot.com/2006...-of-nouns.html

P.D: Al igual que todo "estilo", la programacion funcional puede ser incorporada en otros lenguajes que son OO, y la OO se puede introducir en otros lenguajes no OO (como por ejemplo, cuando se simular OO en C).

Esto significa que no hay que sacrificar -del todo- la herramienta que conozco ahora, por una totalmente diferente.

Un ejemplo simple, en python (python es multi-paradigma: OO, procedural, funcional, imperativo):

Tradicional, imperativo (con efectos colaterales):
Código PHP:
amigos = ['a','b','c']

amigos.sort()

for 
amigo in amigos:
    print 
amigo.upper() 
Funcional (sin efectos colaterales):
Código PHP:
amigos = ['a','b','c']

[
amigo.upper() for amigo in sorted(amigos)] 
Una buena discusion de cuando se usa un estilo u otro:
http://stackoverflow.com/questions/2...ed-programming

La programacion funcional ha sido casi siempre un "nicho" oscuro, ppalmente porque sus proponentes son muy de la academia y meten una terminologia y casos de usos muy cienti/matematico/esoterico que es dificil de resonar con el programador promedio, pero ultimamente sus conceptos mas utiles se han ido pegando en varios lenguajes. Por ejemplo:

Soporte a Closure y funciones de primero orden

Uso de funciones anonimas / lambdas

Tambien han ido surgiendo lenguajes como F#, Scala, Clojure que tiene un punto de vista mas "normal" de la programacion funcional y que como corren sobre un runtime como .NET/Java permiten importar codigo OO.
__________________
El malabarista.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Programar .Net kman Varios 0 01-09-2006 03:49:08
Programar un telefono mauriciofox Internet 3 05-12-2004 22:11:16
Programar una PDA marcial Varios 5 02-10-2004 19:39:41
Programar con Paquetes PKG brandolin Varios 1 10-08-2004 03:37:08
Programar el puerto usb el toluca Varios 0 30-06-2004 20:33:17


La franja horaria es GMT +2. Ahora son las 12:27:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi