Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




pineda

que pereza

avisadme cuando se hable de sueldos o entre alguien al subforo pidiendo un programador para montar una web a cambio del 17% de la empresa

1 1 respuesta
Ranthas

#11311 Tú deja de hacer soft para espiar gente, cuatrero.

1 respuesta
pineda

#11312 es todo un personaje que me he hecho. En realidad programo PHP 5.6 para deloitte

1 respuesta
isvidal

#11308 Este trozo es lo único que esta en React, el resto es Wordpress:

HeXaN

Así pueden decir que son funcionales.

1 respuesta
isvidal

#11313 Uff PHP 5.6 es muy duro, me quitas mis ?? y mi soft tipado y me matas.

7.4 es life, y el mes que viene sale ya la 8.

Y por no hablar de la puta shit que es la PDO en < 7.2.

Fyn4r

#11315 A los fabricantes de coches les funciona

1 respuesta
Markitos_182

#11317 duh, su propio nombre lo dice

MTX_Anubis

#11310 Cuando te pregunto que por qué es funcional te pregunto que me expliques por qué esos algoritmos son funcionales. No ves el problema con ponerles la etiqueta funcional pero no eres capaz de explicarme por qué lo son xD.

Te refieres a que usan conceptos funcionales y con eso me vale aunque yo no los etiquetaría de funcionales pero bueno, por ejemplo, el message passing es un concepto clave (y olvidado) de la POO y no llamaría orientado a objetos a algo que lo use.

1 respuesta
desu

#11319 Maquina de estados + propiedades del protocolo.

http://crypto.stanford.edu/blynn/lambda/

They taught us Turing machines in my computer science classes. Despite being purely theoretical, Turing machines are important:

A state machine reading and writing symbols on an infinite tape is a useful abstraction of a CPU reading from and writing to RAM.

Many high-level programming languages adhere to the same model: code writes data to memory, then later reads it to decide a future course of action.

We immediately see how to measure algorithmic complexity.

Encoding a Turing machine on a tape is straightforward, and gently guides us to the equivalence of code and data, with all its deep implications.

All the same, I wish they had given equal weight to an alternative model of computation known as lambda calculus:

Si me refiero siempre a nivel conceptual y propiedades, es el * que he a;adido. Aunque hay cosas que era FP codigo, no todos los ejemplos eran ambos, algunos eran conceptuales, otros ambos.

El tema de message passing me ha sorprendido, puedes decir por que no lo consideras? Para mi y quizás este es mi error, es que actores va de la mano con mp. Donde los actores son funciones puras. Y una interfaz bien dise;ada sea rest o rpc tambien entraria en ese pack. OOP también tiene mp si, no esta acoplado con actor, pero la idea es que no haya side effects.

Entonces si te entiendo bien, tienes razon mp no es fp, aunque mp suele jugar con metodos fp. No deberia asumirlo tan rapido. Entonces kafka tampoco lo seria y pub/sub tampoco? teniendo en cuenta que garantizamos propiedades? ninguna comunicacion lo puede ser porque depende de los sujetos que llamen/reciban?

A nivel historico dudo que mp saliese con oop, la fp es de los 60. Puedes darme un link para mirar? Ademas el tema de mp si nos vamos a cosas tan antiguas realmente es una linea borrosa de diferenciar donde empieza y acaba. Yo me refiero a la idea de mp actual, quizás es un termino que debería re plantearse para diferenciarlos. Para mi si no pasa por socket no es mp xdd Ejemplos de oop+mp te refieres a corba/rmi? No tengo ni idea de que es corba, conozco rmi.

edit: He encontrado esta prueba

https://lamport.azurewebsites.net/tla/byzpaxos.html

No soy experto en los algoritmos pero si te parece bien y me hechas una mano te lo puedo pasar de tla+ a smt (que es lo que se) y discutimos el algoritmo.

+ en lamport https://www.se-radio.net/2014/04/episode-203-leslie-lamport-on-distributed-systems/ (un don nadie al lado de los mediavideros del hilo lo se, un blogero cualquiera)

Referente al tema de message passing: Leslie Lamport 00:06:30

+ en lamport y state machines https://lamport.azurewebsites.net/pubs/deroever-festschrift.pdf

1 respuesta
B

Que tal las pajas? Bien no?

P.D: Es lunes! La gente suele celebrar los viernes, pero yo soy tan anti-sistema que celebro los lunes peeeeerras!

NSFW
1 respuesta
aren-pulid0

#11321 Vivan los lunes!

1
MTX_Anubis

#11320 Realmente el modelo de actores se describió en sus orígenes (hablo de cabeza) para manejar estados en entornos concurrentes donde los estados se manejan internamente y es el actor el que decide cómo manejarlo y además pueden chocar contra conceptos puramente funcionales y tener side effects. Originalmente no recuerdo si se describió pudiendo tener side effects o no pero dudo que no se pudiera. Además al manejar el estado internamente, el actor deja de ser puro en los cambios de estado a no ser que se lo metas en el mensaje.

Sobre la POO he dicho que uno de sus puntos claves es el message passing (originalmente), no que lo inventara pero ya has dicho que te referías a sistemas distribuidos al hablar de sockets.

Lo que pienso y es lo que no he entendido de primeras, es que por funcional te refieres a que una máquina de estados pueda representarse exclusivamente con funciones y por lo tanto es funcional. Visto desde este punto de vista pues sí, todo modelo con estados finitos tendría conceptos funcionales xD.

Pero no sé, el MP, Actor Model, Queues, etc son sistemas, técnicas, etc. que pueden ser funcionales o no. Para mí tendrían que cumplir los requisitos de las funciones puras (y matemáticas):

  • Ante el mismo input devolver el mismo output.
  • No tener side effects.

Y eso obviando los tipicos problemas de sistemas distribuidos que bueno, entrarían dentro de lo que sería el estado. Vamos que la técnica que se use no es funcional per se a no ser que sus requisitos intrínsecos sea cumplir las restricciones funcionales. El MP es un concepto tan amplio que no lo veo funcional y al final es una técnica de comunicación. Map/Reduce sería funcional pues cumple que ante un mismo input, devuelve el mismo output (y no debería tener side effects y no se me ocurre ningún motivo por e que pueda tenerlos).

3 2 respuestas
JuAn4k4

Vaya discusiones os planteáis, dignas de space vs tabs. El middle ground siempre es ls respuesta correcta. No todo es blanco ni negro, y en informática, todas las respuestas son también válidas. Lo mismo puedes hacerlo funcional, que oop, que procedural. En algunos casos encajara mejor o peor, dependiendo principalmente del problema a resolver.

Y teniendo en cuenta que todo variará dependiendo del picateclas, estamos ante un AK vs Colt de manual.

6 3 respuestas
aren-pulid0

#11324 por fin algo de sentido, merece la pena para la empresa? go 4 It

Me imagino una empresa a cargo de desu y jesús que desastre, cada 4 dias es que he leído en un paper que ahora se hace así ... xD

HeXaN
#11324JuAn4k4:

El middle ground siempre es ls respuesta

Quién se iba a imaginar que los extremos eran malos.

2
Ranthas
#11323MTX_Anubis:
  • Ante el mismo input devolver el mismo output.
  • No tener side effects.

Esto es la definición del concepto "transparencia referencial", que es clave para definir un paradigma funcional. Otra condición para poder tratar un software como funcional, en mi opinión, es que tenga soporte para funciones de orden superior.

Todo lo demás son pajas del becario senior, ni te rayes

1 respuesta
desu

#11323 Tienes gran razón en muchos apuntes. Buen aporte.

Funcional a maquina de estados no es exactamente así, es un grado mas que va con problemas de parada y pasarlo a lambda calculo para razonar y verificar su validez. Primer link que puse. Para aplicarlo a X, Y o Z en computación al final es definir bien las propiedades y verificar que se cumplen (paper de estado de Lamport que he puesto) Tercer link. Esto lo di en la carrera y no me acuerdo mucho pero suena un rio por ahí. Lo de Lamport no tenia ni idea como lo hacia, repito nunca lo he mirado, pero mi intuición era buena xd Me ha gustado bastante tanto la entrevista como el paper (la demostración me he perdido).

Si considerar eso funcional o no pues depende, yo considero lambda calculo funcional. Al final como dijo Lamport la mayoría (sino todo) en computación que hacemos existe alguna manera de transfórmalo hacia allá. En especial me ha gustado cito: Computer scientists collectively suffer from what I call the Whorfian syndrome. El tema de que este bien verificado y sea funcional de verdad tiene que ver en no dejarte nada xd parece una tontearía pero lo ha explicado bien.

El tema de input y output + puro es mas de programación. No tanto a nivel conceptual que yo comentaba, pero si, la idea es bastante similar. Tu puedes tener una función con estado y que no devuelva lo mismo pero que sea "funcional". Porque tiene una lógica que puedes verificar que siempre responderá. Ahí entra el alto nivel sobre las maquinas de estado. Esto se hace mucho desde haskell a cosas raras como coq. El 1 link que he puesto tiene ejemplos de esto.

Dicho este ultimo párrafo si no esta verificado no lo considero funcional, por eso hablo de git por ejemplo y me sobra huevos para ponerte cuatro algoritmos de distribuidas que conozco de pasada que se que están verificados.

Sobre el MP creo que no se puede generalizar, ahora que ando haciendo Kafka quizás me viene alguna idea xd.

#11327 Si hablas de programación es correcto lo que decís si 100%. Además a todo eso le podéis añadir sistemas de tipado. Pero no seria un requerimiento, seria un nivel mas. de nuevo si quieres entender porque es así el primer link es algo que se da en la uni. No hay ninguna magia. Eso de transparencia lo has leído en algún blog de mierda, si quieres te lo demuestro al toque.

#11324 Si no quieres participar no participes. A lo tonto hoy he aprendido algo nuevo.

Yo soy el gafotas o el del parche.

2 respuestas
Ranthas
#11328desu:

No hay ninguna magia. Eso de transparencia lo has leído en algún blog de mierda, si quieres te lo demuestro al toque.

No te preocupes, aquí el único que basa su vida laboral en leer chorradas ya sabemos que eres tú. Viendo lo que sueltas, lo que no me sorprendería es que ese concepto te suene a chino.

1 respuesta
desu

#11329 No me suena a chino no xd Te digo que no vale solo con leerlo que yo te he explicado arriba como demostrarlo y de donde viene esa idea.

de hecho toma anda:

https://cs.stackexchange.com/questions/75987/is-the-lambda-calculus-referentially-transparent

wdaoajw

Hace un par de meses leí una entrada de un blog que hablaba sobre gRPC y la primera frase decía algo así como:

Unlike deprecated features like REST, gRPC is fucking awesome blablabla....

Desu style

1 respuesta
Kaledros

#11331 Hay mucha gente ahí fuera que suelta afirmaciones así de brutas que luego, cuando les pides alternativas viables (la clave es la palabra "viable") empiezan a mirar al suelo y a balbucear.

Moraleja: si tienes los cojones de decir que REST, OOP o cualquier otro paradigma/tecnología es una mierda ten también los cojones para proponer una alternativa a la misma escala, igual de viable y de fácil adopción. Y si no puedes o no sabes, eres un bocarrana. Punto.

isvidal

SOAP es una puta mierda y me podéis comer los huevos los que opinéis el contrario

Ademas de ser un puto red flag como una casa de PAGES de que en esa empresa solo hay monos pica teclas que llevan 20 a;os picando JAVA 6 PALIDOS como un puto vampiro y con unas bolsas en los ojos que les llegan al OMBLIGO de la amargura de vida que llevan

6
r2d2rigo

@Jastro haz tu trabajo y pasate por el hilo de moodreads a repartir chocopuntos, anda.

2 1 respuesta
Kaos

He leído la última página y no sabría decir quién la tiene más grande.

1
B

Pues yo uso herramientas de profiling... así de pica-teclas soy.

1
HeXaN

Yo soy más de print.

2 1 respuesta
B

#11337 Mi frase de debug es: "HOLA PASA POR AKI!!"

2 respuestas
isvidal

#11334 Me descojono vivo con ese hilo HAHAHAHAHA

1
HeXaN

#11338 "entro al bucle", "salgo del bucle".

1 respuesta