Hello World x4
Hace poco estuve en un curso relativo a Kafka, la verdad la capacidad que tiene esa herramienta es muy fuerte, sobre todo cuando aplicamos programación funcional en medio. Aunque este post no es relativo a Kafka, si lo es relativo a la programación funcional y será bastante sencillo.
Haremos un ejemplo de curry f(x)(y) = f(x, y) en tres lenguajes Kotlin, Typescript y Javascript.
Kotlin
Typescript
Javascript
Conclusiones
A mi me sigue gustando más javascript (porque escribes menos), pero a muchos les gusta que el editor les diga que puede haber un error y muchos claman que usar tipos reduce errores, en la practica javascript se usa con linters y cachan en general el mismo numero de errores de sintaxis. Kotlin por otra parte me sigue pareciendo un lenguaje más entendible que Java.
Las diferencias entre typescript y kotlin me parecen bastante pequeñas, puede ser una gran ayuda para equipos mixtos donde unos programan en el servidor y otros en el front, el cambio de un lado al otro seria mas sencillo, creo yo.
Actualizado
Originalmente queria incluir rust, pero si esta un poco mas complicado, hay que entender mejor el sistema de prestado de memoria. Algo hay que perder cuando ganamos memoria y thread safety sin garbage collector a velocidad de c++, en fin, pero si se puede:
Rust
- betotto's blog
- Inicie sesión o regístrese para enviar comentarios
Buen contenido
Es increíble como evolucionan los lenguajes como Java y otros surgen para paliar las deficiencias de éstos. Kotlin tiene aspectos (programación funcional, etc.) que lenguajes como Groovy, Scala y otros más intentaron promover o difundir. Algunos les hicieron caso, otros muchos no.
Mucha gente no sabe que las lambdas ya estaban presentes en lenguajes como Python. Java, para no quedarse atrás, lo adaptó a las nuevas versiones (desde la 8).
Java 11 promete muchas cosas y otras no se esperaban, pero se temían...
Uno más
Aqui como se hace en Scala
El ejemplo2, internamente el compilador lo convierte en una partial function cuando le mandas el placeholder "_".
La ventaja del ejemplo 2 es que con el placeholder puedes parcializar N parametros en tu función por ejemplo.
Java
Para que