#19994 ya que andas bien metido en js, igual te interesa reasonml
type product = {
name: string,
cost: int,
active: bool,
image_url: option(string),
};
module ProductAnalyzer = {
let total_price = (products, discount) =>
products
|> List.filter(p => p.active)
|> List.map(p =>
switch (discount) {
| None => p.cost
| Some(x) => p.cost - p.cost / 100 * x
}
)
|> List.fold_left((a, b) => a + b, 0);
};
let products = [
{name: "prod1", cost: 100, active: true, image_url: None},
{name: "prod2", cost: 120, active: false, image_url: None},
{name: "prod3", cost: 200, active: true, image_url: Some("bakjjklahkla")},
];
let f = ProductAnalyzer.total_price(products);
Js.log(f(None));
Js.log(f(Some(20)));
#20013 Es interesante, aunque eh, los pipe operator
|>
están para ser metidos en el próximo estándar ECMAscript!:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Pipeline_operator
Aunque tiene cosillas interesantes para los condicionales el reasonml por lo que veo.
Madre mía, me da cáncer ver todas esas flechas, pipas y aspecto de mierda.
Oh, wait, si trabajo con Scala.
js, ese lenguaje que te hace perder 30 minutos por que no te diste cuenta de que tienes que parsearlo a int
fuck this shit
Yo es que trabajo con swift y si me drogo me saltan errores de compilador, pero si trabajase con javascript....
#19987 Deja de planteártelo y apréndelo, si vienes de C tienes todo el pescado vendido.
#20018 Go cumple el mismo propósito que Python y a la vez de C++?
Pregunto, me llama la atención junto con Python xD
#20018 Ahora mismo es el lenguaje por el que más curiosidad tengo, así que si lo empiezo a ver, ya te preguntaré cosas.
#20019 He dado C y aunque no soy profident con el lenguaje, para mí sería cuestión de unas pocas semanas de práctica, poder implementar cosas bonicas. Ya en su tiempo había hecho algo en C... u os pensáis que todos los JS'ers nos venimos de un bootcamp de 3 semanas? xDDDDD.
#20020 Cualquier lenguaje cumple su propósito si te soluciona el problema. Las mierdas de "mi lenguaje es mejor que el tuyo" son para becarios.
#20022 ;/
Me refería a si sirve de scripting y también para servicios de alto rendimiento.
Pos pregunto distinto, pa q se gasta Go?
#20023 Es que en teoría Go también compila en binarios en lugar de a bytecode, así que en términos de performance es tan bueno como C++, con la diferencia de que sintácticamente es más moderno y bonito. Por eso tengo bastante interés en el mismo, básicamente.
#20025 en procesado de datos es bastante rápido, es legible, y de hecho empieza a ser la norma en temas de econometría, machine learning y demás, a la par que R.
Aunque hablando de ML e IAs, aprovecho para cabrear un poquito más al personal...:
#20024 Go puedes ejecutarlo sin compilar o portarlo a cualquier arquitectura si te refieres a eso, pero eso es lo de menos a la hora de migrar de otro lenguaje a Go. Ya he comentado mis razones personales varias veces en post anteriores y básicamente me pasé de nodejs a Go porque me solucionaba los problemas que tenía en cuanto a rendimiento y pérdidas de memoria.
#20026 no si en mi grupo estoy ahí tirando del carro de Python a ver si tiramos R a la basura de una vez xdd
#20027 en nuestros clusters las aplicaciones mas aberrantes estan escritas en node, hasta el punto de que con un simple vistazo al dashboard de grafana puedes saber si un servicio corre en node sin tener que leer la leyenda
#20030 Según tengo entendido, también se está adaptando bastante Python en el mismo, aunque sí que es verdad que en ese contexto R siempre ha sido el rey.
#20032 Me parecería interesante saber qué versión de Node corréis y si usáis clustering (múltiples instancias por script), porque Node bien usado corre más rápido que la mayoría de stacks excepto para interactuar con el filesystem y poco más xD. Si lo que tenéis es sobrecarga de memoria, con aprender a usar (y aprovechar) pm2 y el node cluster module, vais sobraos para que eso tire mejor.
Está bien eso que para aprovechar el multi-núcleo tengas que lanzar varias instancias. En 2018, ojo.
#20034 no tengo ni idea de la version, no sigo de cerca los desarrollos de node y ademas eso es responsabilidad de cada equipo
corre bajo instancias de docker en un cluster, por lo general entre 4 y 8 por servicio aunque hay un servicio con 16 o asi, bastante vergonzoso
#20035 Ya ves, pero irónicamente es que es la tecnología top para tareas asíncronas y real-time
PD: creo que tenían planeado implementar de alguna manera el multithreading real en JS/Node, pero no sé cómo va la movida.
#20036 La idea de los clústeres de Node es que se creen de forma dinámica en función del tráfico, pero vamos que si tan mal os va el asunto, es que algo está fallando. Desde PayPal hasta Netflix, imagínate el tráfico que manejan, pues tiran de Node en gran medida.
#20034 Que recuerdos haciendo profiling y debugeando instancias de nodejs con resultados dispares dependiendo de la versión de nodejs que usara. Los mejores años de mi vida.
#20037 es top si tienes los recursos economicos para costear la mierda que escriben en 99% de desarrolladores de Node.js con suficientes servidores