Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Wei-Yu

#23638 en el primer párrafo no dices nada y en el segundo intentas justificar tu benchmark cochambroso que no hay por dónde cogerlo

yo sólo digo tres cosas

  • el video es una mierda
  • tu benchmark es una mierda
  • dependiendo de la situación veo bien el enfoque, ej en casos en los que existe lógica y tiene sentido que se vaya a una estructura en vez de registrarlo dentro de una clase estática o un servicio random; si tienes 4 casos y todos con bastante lógica a nivel de performance te va a dar igual usar un hash o un chorro de ifs
2 1 respuesta
desu

#23641 papito que ni te enteras. que lo unico que quiere demostrar en el video es que si tienes una expresion peudes hacer r = expression y tener todo compacto, si hasta pone el ? : para hacerlo mas compacto y tener todo en una expresion.

el problema es que es un switch statement no una switch expresion, no hay mas.

no he visto el video y me he enterado de que va mas que tu.

Wei-Yu

pongo un vídeo de mierda

desvarío un rato hablandole al aire

me pongo las crocs y directo al entrene de crossfit

1 respuesta
desu

#23643 hablo de algo que no entiendo como siempre

no entiendo ni la pregunta ni la respuesta ni de que va el asunto

tiro cuatro falacias para hacerme el gracioso y me voy sin hacer mucho ruido

no te cansas de quedar siempre en ridiculo? al menos JUANAKAKAKAKAKAK de vez en cuando me calienta la boca y merece ser escuchado.

Tu eres un rision.

cuando quieras te doy una master class por twitch de lo que es una variable y como evalua a un valor dada una expresion.

te dejo una referencia que no te leeras https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/basics/if_expressions.html

deberias aprender un poquito de programacion antes de ponerte a hablar de ella

1 respuesta
Kaledros
#23644desu:

cuando quieras te doy una master class por twitch de lo que es una variable y como evalua a un valor dada una expresion.

¿Para cuándo una master class por Twitch de levantar un Docker?

2
X-Crim

el meme de desu con docker de donde viene?

2 respuestas
isvidal

#23646 Es una larga historia que empieza con el nacimiento de Albert Einstein

Fyn4r

Mi veredicto es que el vegano tiene razón, que calentada por 4 milisegundos

2 respuestas
desu

#23646 quieren verme caer

#23648 como que 4? que son 500ms, medio segundo. en una aplicacion normal de js que uses muchos objetos de esa manera vas a tener lags de casi 1 segundo en la mayoria de tus casos de uso... lags de 500 ms... LOL

1 respuesta
Fyn4r

#23649 Donde te dejaste el post del ingeniero de MS que decía que hay que estudiar el caso de uso antes de calentarse la cabeza? Pégale un repaso

1 respuesta
desu

#23650 pues precisamente de eso va.

la reacción natural cuando alguien quiere convertir un statement en una expresión es meterlo en una función.

cuando tienes un bucle for y ves que estas metiendo breaks para cortarlo. función.
tienes un while y usas continue o for... funciones.
tienes un bucle y tienes un flag o una variable que cambia de estado? función.

calentarse la cabeza es creerse guay por poner un objeto / diccionario sin ni siquiera entender los pros/cons que significa en lugar de hacer la solución natural e intuitiva que te proporcionan todos los lenguajes de programación.

Ranthas

#23648 Lo mismo opino, si que ha dado de sí un vídeo de un notas echandole mierda al switch.

Nota para los masillas del hilo, es decir, todos: ya se echaba mierda a las estructuras de control mucho antes de que nacieran vuestros padres, preguntadle al eternamente enfadado abuelo cebolleta del hilo

JuAn4k4

@desu https://benchmarkjs.com/ Podemos hacer un benchmark del benchmark. No se cuanto afectará todo al benchmark en sí usando time con unos tiempos tan pequeños.

1 respuesta
desu

#23653 esta muy bien, pero me puedes poner una demostracion o refutarme el limite que te he puesto? es que no entiendo donde esta el problema aun si tienes un limite que tiende a una constante. si tiras una moneda y cuentas el cara o cruz infinitas, veces la probabilidad de que salga cara o cruz es 0.5

entiendo que no te gusta el random porque tiene un costo muy elevado respecto a lo que queremos contar, puedes proponer otra manera de contarlo. igualmente es un porcentaje constante como tu has dicho... da igual. puedes benchmarkear dias u horas que el porcentaje sera el mismo.

otra cosa es que no fuese algo constante. porque entonces si que tendrias un margen de error que no puedes ni sabes mesurar.

1 respuesta
JuAn4k4

#23654 La cuestión es que no lo sé, no sé cuanto puede llegar a afectar todo lo que hay alrededor de la ejecución de un simple switch como para afectar en mayor o menor medida, con mayor o menor aleatoriedad a su ejecución. Yo creo que no es el 80%, sino el 99.9% y no se cuantos 9s, lo cual haría que necesitases una N aún mayor.
No sabes como de grande ha de ser N porque no sabemos qué% del tiempo realmente lo consume la función.

Tampoco se si es constante o más aleatorio, y si entra sys pues ya tenemos entropía en los threads que tengas bajando porn.

1 respuesta
Zoko

El contenido del video (la parte en la que muestra que es un LookupTable) no esta mal. Lo que esta mal es que diga que una buena practica es evitar el switch por norma general.

desu

#23655 Te acepto que el rendimiento es malo de medir y no tiene sentido. Supongamos da igual.

Podemos medir la eficiencia. Como crece un objeto o diccionario vs un switch en memoria?

No hace falta ni testearlo.

Leos

Y como siempre chicos, estas decisiones dependen de la situación en concreto, recordad todo lo que hacemos se basa en tradeoffs, no en elegir lo más performance o el código más bonito si no elegir la más eficiente para nuestra situación

1 1 respuesta
B

#23617 La mierda de esto es que hay gente que por verlo en youtube ya piensan que es lo correcto.

No recuerdo la última vez que tuve que añadir un case más al switch

1 respuesta
Leos

#23659 Tu amiga ha publicado toda feliz que ahora sabe hacer eso, proximamente en su tiktok

1 1 respuesta
desu

#23658 Eso no es cierto. No existe ningun trade off. No existe alternativa. si en tiempo de compilación sabes los cases escribes un switch, si no lo sabes lo haras en runtime...

no es un tradeoff...

tienes un contexto y resuelves usando lo mejor para el contexto.

en este caso no tienes dos alternativas para el mismo contexto.

1 respuesta
Leos

#23661 Tu mismo te contestas que depende de la situación, usaras una o otra, me estas trolleando? xD

No estaba defendiendo el video btw

1 respuesta
desu

#23662 No.

Tu si tienes que decidir entre que codigo poner tienes que considerar el contexto.

Y esto es correcto. cual es el contexto al programar?

Tiempo de compilacion y conoces las condiciones, escribes un switch. No existe ninguna otra alternativa que te aporte NINGUNA ventaja. La herramienta para resolver esto es haciendo un switch. edit: si quieres if else. en la practica deben ser lo mismo.

Tiempo de compilacion y no conoces las condiciones, no puedes hacer un switch.

Si no puedes resolver en tiempo de compilacion lo tiras en runtime. No ha habido ningun tradeoff, es que es imposible resolverlo de la otra manera.

En run time puedes elegir usar un objeto o un diccionario. Hay tradeoffs. Aqui podriamos discutir los tradeoffs y las alternativas. Pero para cada implementacion de lenguaje seguramente exsite una que es mas eficiente y performance. Por ejemplo, en python es mas eficiente tener named tuplas que data object, si necesito 100k de entidades que sean puntos {x, y}, hare named tuples o tuples, porque el objeto tiene un coste de instanciacion y memoria obvio.

Te ha quedado claro?

Un tradeoff entre compilacion y runtime se resuelve en terminos de eficiencia y rendimiento y su escalabilidad... no existe nada mas.

Ahora si tu quieres hacerte pajas y usar diccionarios porque eres un mongolo que no sabes ni lo mas basico de programacion y te crees CLEAN CODE PROGRAMMER, es otro tema.

2 respuestas
B

#23660 jajajaj no me sorprende

Leos

#23663 Se nota que no vives en el mundo real, no todo es la eficiencia a la hora de programar, hay un equipo y hacer el código de x manera aunque no sea tan eficiente puede ser mejor para el equipo en general por ejemplo.

Pero si quieres sentirte listo suéltame más palabros y ya.

1 respuesta
desu

#23665 se nota que no sabes programar.

tienes un problema y lo tienes que resolver. en eso consiste tu trabajo.

si tus compa;eros no saben leer un switch ni saben hacerlo compacto sin side effects es un probelma de que estas rodeado de pajeeeeeeeeeeeets.

no tiene nada que ver la eficiencia, que por cierto no sabes que significa esa palabra, eficiente sirve para hablar de memoria.... pero bueno entiendo que te refieres a eficiencia y rendimiento.

volviendo al equipo de pajeets tienes un problema de cultura, no de programacion. por desgracia muchos problemas de programacion los pajeets los resolveis con cultura. por ejemplo haceis code reveiws o usais linters pero programais en python y javascript......... porque sois monos sin cerebro y teneis las neuronas justas para limpiaros el culo solitos despues de cagar una query sql que tarda 5 segundos en hacer un join.

dejo la cultura porque no me interesa hablar de ello y regresamos a la programacion. todos los lenguajes de alto nivel estan hechos para monos, la manera idiomatica que se suele decir de resolver un problema es la mejor. porque han sido los desarrolladores del lenguaje quien se han preocupado de optimizar ese codigo para ti. no te tienes que preocupar... solo utiliza la herramienta de alto nivel que te proporcionan.

ahora, si volvemos a que no sabes programar, y tienes quieres SQl que tardan 5 segundos y bucles que tardan 10 segundos no tengo nada que decirte. bueno si, vuelve al primero de carrera a fundamentos de la programacion.

si prefieres que tu codigo sea lento y costoso porque no sabes programar no tengo nada que decirte. mi mensaje va para gente que quiere aprender a programar.

1 1 respuesta
Leos

#23666 Si, quizás no se programar, no te voy a mentir, pero que estés rodeado de pajeets no quita el problema, es decir si eres el puto amo y haces las cosas a un nivel de eficiencia increíble pero después nadie puede entenderlo o mantenerlo, pues se va a la mierda.

También puedes cagarte en tus compañeros y pedir que los echen, pero no se si surtirá efecto.

No debía entrarte al trapo desde el principio pero me aburría xD esperaba más de ti, aunque el papel de autista lo mantienes bien

1 respuesta
desu

#23667 Precisamente estos videos no ayudan a que la gente programe bien.

Lo he resuelto al principio.

El tio en el video solo necesita una expresion. usa una funcion. sin entrar en eficiencia ni rendimiento ni pollas en vinagre. perdon por irme por las ramas, a veces creo que hablo con gente con neuronas y parece que no entendeis ni el primer nivel y yo ya estoy en el tercero. lo siento mucho por trataros como personas, os debo tratar como lo que sois mas....

Si quieres una expresion, usa una funcion.

Fin.

Si tienes switch con side effects o funciones con side effects, deja de hacer side effects.

Fin.

Si no sabes programar, puedes empezar aprendiendo. no es tan dificil. con el tiempo lo haras mejor.

sin entrar en costes ni que es mas limpio, tan solo aprende a programar lo mas básico que se ense;a en primero de carrera. para mantener un webservice de una web paco tampoco necesitas mucho mas.

si después de todo esto aun asi me dices que no entienden lo que hacen, cambia de trabajo. te aseguro que no es normal estar con gente que no entienda estas cosas basicas.

1 respuesta
Leos

#23668 Pero si lo he dicho desde el principio, no defiendo al vídeo, mi comentario viene dado por intentar dar una visión concreta de algo que no sabes que lleva detrás.

No era por el caso en concreto del switch en el cual coincido en tu opinion.

1 respuesta
desu
#23669Leos:

por intentar dar una visión concreta de algo que no sabes que lleva detrás.

ok.

ahora que has entendido el primer nivel.

vuelve a leer lo del conexto de tiempo de compilacion y runtime.

no existe trade off del que hablas.

enserio, si no consideras eficiencia ni rendimiento aun menos...

es obvio que tienes que escribir un switch o un if/else. es la UNICA solucion que se te deberia pasar por la puta cabeza. lo escribes y como estas en js y quieres una expresion usaras una funcion para wrappearlo.

no existe un contexto que me haga cambiar esta solucion que te digo. NINGUNA. no existe caso de uso que me puedas poner que me haga cambiar esta solucion por el diccionario. Si se las condiciones son fijas, hare un switch/if else. Si quiero tener el codigo mas leible lo metere en una funcion para usarlo como expresion.