Perdón que pregunte, en el artículo en contra del OOP, dice esto:
"OOP polymorphism
Polymorphism is great, it allows us to change program behavior at runtime. However, it is a very basic concept in computer programming. I’m not too sure why OOP focuses so much on polymorphism. OOP polymorphism gets the job done but once again it results in the act of mental juggling. It makes the codebase significantly more complex, and reasoning about the concrete method that is being invoked becomes really hard.
Functional programming, on the other hand, allows us to achieve the same polymorphism in a much more elegant way…by simply passing in a function that defines the desired runtime behavior. What could be simpler than that? No need to define a bunch of overloaded abstract virtual methods in multiple files (and the interface)."
Esta última parte, se refiere a los "delegates" ? Para mi es la cosa mas aberrante que encontré cuando tuve que modificar código de otros.
Y otra cosa, pone como ejemplo el uso de Javascript (?).
Links de Viernes - #586
Nada como los #LDV para culturizar la mente
Enlaces! a eso vienen, eso les vamos a dar, y si quieren más cantidad y calidad pasan por LinksDV.com, aportan y luego se quejan
Ahora sí, pasen y vean ™
Links Caseros
De recolección manual
- Todas las veces que fuimos a la Luna antes de ir realmente a la Luna
- Nota para programadores: OOP y el desastre inminente de programar con objetos
- Eclipse de sol de... la ISS!
- la historia del buque más poderoso del siglo XVI, que fue rescatado 450 años después
- China asegura que habrá guerra si Taiwan quiere independizarse
- Esta vez le toca al servicio secreto ruso, FSB, que los hackeen y saquen todo tipo de info de ellos
- Estas cosas me divierten sin culpa como el rey de Malasia que abdicó para casarse con una rusa y ahora resulta que el hijo que tienen no es suyo, y... por amor no era
- Lightsail 2 despliega su vela solar
- Así se ven las consecuencias de un terremoto desde el espacio
- Experimentos que muestran cómo los sesgos afectan a los jueces
- Lanzamiento y acoplamiento de la Soyuz MS-13
- ITER, el proyecto de fusión nuclear más avanzado del planeta, ha logrado un nuevo hito al instalar los primeros componentes de una de las secciones principales del reactor.
- Sigue subiendo de tono la crisis en el estrecho Ormuz
- Estas cosas no se hacen, un contratista de Siemens mete "bombas lógicas" en plantillas de excel para que lo vuelvan a contratar para arreglarlas, termina preso por pelotudo
- La fusión submarina de los glaciares está siendo más rápida de lo que creíamos y tuvimos más de 40 grados récord en Europa y el concenso científico está más firme que nunca con respecto a las causas
- Indonesia cerrará la isla de Komodo para proteger de la extinción a los dragones
- Ya se escuchan algunas voces pidiendo más animación tradicional en vez de remakes live action/cgi de films tradicionales
- Adelanto de la próxima temporada de The Expanse, super recontra recomiendo esta serie
- La prisión para estatuas caídas en desgracia de Spandau
- Esto es digno de los LDV porque en Atlanta pausan los permisos para usar scooters eléctricos luego de dos muertes, el hype choca, literalmente, con la pared
Links Soberanos
Via LinksDV.com
-
// impresión para LDV del blog
?>
- | Mapa interactivo te muestra dónde aparecerías si cavaras un túnel en la Tierra, El concepto de las antípodas es fascinante, ya que se trata del lugar de la Tierra más lejano a ti. ¿Qué ocurre allí? ¿Qué tipo de personas hay? Para averiguarlo, tendrías que viajar durante muchas horas. (en Curiosidades) // impresión para LDV del blog ?>
- | El número 42, Porque, los nardos saben, es el sentido de la vida :D (en Curiosidades) // impresión para LDV del blog ?>
- | The Hu Band, mongoles rockeando y haciendo sonido tuvano, Banda mongoles que utiliza instrumentos tipicos de Mongolia para hacer rock y a su vez también cantan utilizando el estilo Xöömej (canto tuvano) que es muy distintivo y hemos visto en péliculas y series como TBBT. Después de escucharlo me dieron ganas de defender un castillo. (en Música) // impresión para LDV del blog ?>
- | Dioramas, Nivel divino en maquetas, o arte de la paciencia. (en Entretenimientos)
Yapa
Rebooting a 50 Year Old Computer - Making The Apollo Guidance Computer Work Again
Y mucho más en LinksDV.com
Otros posts que podrían llegar a gustarte...
Comentarios
-
Ah me faltó agregar que si el ruso quiere programar en C# OOP al estilo quasi-funcional tendría que usar llamadas estáticas por todos lados. Hay gente que programa así en c#.
-
cesar dijo:
Esta última parte, se refiere a los "delegates" ? Para mi es la cosa mas aberrante que encontré cuando tuve que modificar código de otros.
Y otra cosa, pone como ejemplo el uso de Javascript (?).
Sin delegates no tendrías eventos en C#, ni hablemos de cuanto te podría costar implementar el patrón specification. Yo los encuentro muy útiles para hacer tu código menos rigido y no romper con el principio open/close.
Ahora bien, como todo en este rubro, IT DEPENDS! los devs nos lo deberiamos tatuar en la frente y que la gente lo lea mientras hablamos. Por ejemplo, si metes delegates por todos lados y el core de tus aplicaciones finalmente depende de implementaciones hechas en capas superiores o clientes del core, lo estas haciendo como el orto.
Con respecto al articulo, tiene más de un buen argumento pero me encantaría verlo al autor desarrollar aplicaciones para una empresa. Me parece hermoso estudiar elixir y aplicar la programación funcional a aplicaciones IOT en la nube super escalables, super concurrentes y super porongas, pero andá a usarlo para las tipicas necesiadades aburridas del mundo de los negocios...
Por otro lado es cierto que C# (no se Java) se viene desviando de la OOP con cosas como Generics, extension methods y promoviendo el uso de interfaces para todo, eso dice algo de que la teoria no se ajusta a la necesidad. Ahora bien ahí los tenés a los devs de javascript queriendo implementar TypeScript en todos lados por que sus proyectos se han vuelto inmantenibles (para ser justos igual que todo proyecto tarde o temprano).
En fin, geniales los links, en especial este sobre OOP :D
-
Pagaina sobre OOP no es mas que una flamewar para que todos salgan a opinar como si existiese ina verdad absoluta. El de la nota hace muchas afirmaciones sin pruebas solidas, solo con opiniones.
Los lenguajes son herramientas que permiten hacer cosas, muchas se pueden hacer con mas o menos complejidad mas o menos tiempo mas o menos errores.
Lo que si te digo hacer ciertas cosas en programacion funcional como en OOP son casi imposibles o unos engendros mutantes (ejemplo Gtk)