"Cambio a Elixir"
(leemeichin.com)Cambiar a Elixir
- En su nuevo trabajo usan Elixir como lenguaje principal de backend.
- No tenía experiencia con Elixir ni Erlang, pero lo aprendió con facilidad gracias a una sintaxis similar a la de Ruby.
- Evita los problemas de manejo de estado de los lenguajes orientados a objetos y aprovecha las ventajas de la inmutabilidad y la programación funcional.
Ventajas de Elixir
- El código con estado mutable es difícil de mantener.
- Elixir, al igual que Ruby, soporta DSL, pero usa macros en tiempo de compilación para generar código en tiempo de ejecución.
- Incluso sin escribir pruebas, es posible detectar en tiempo de compilación errores en el uso de macros.
Sintaxis y expresiones
- Le gusta la sintaxis de pipeline de Elixir, pero prefiere los operadores de 'threading' de Clojure.
- Mediante la expresión 'with', se pueden dividir funciones complejas en la ruta de éxito y la parte de manejo de errores.
Manejo de excepciones
- En Ruby, es común usar excepciones para el control de flujo.
- En Elixir, en lugar de excepciones, se usan los mónadas Result / Either para devolver ok y error como valores de retorno.
Opinión de GN⁺
Lo más importante de este texto es el placer de programar que ofrece el lenguaje Elixir y la facilidad de mantenimiento que brinda. Resulta interesante cómo resuelve los complejos problemas de manejo de estado de los lenguajes orientados a objetos y mejora la estabilidad y legibilidad del código mediante la inmutabilidad y la programación funcional. En especial, el sistema de macros que permite descubrir errores en tiempo de compilación ofrece a los desarrolladores un entorno más seguro para escribir código. Estas características también harán que ingenieros de software principiantes sientan atractivo por aprender el lenguaje Elixir.
1 comentarios
Opiniones de Hacker News
El interés por el lenguaje Elixir ha aumentado en las últimas semanas a través de videos de YouTube.
Se destaca como una gran ventaja de Elixir/Erlang la facilidad para manejar trabajos en segundo plano.
Taskde Elixir el servidor puede atender solicitudes HTTP sin caerse.Se resalta la potencia del lenguaje a través de la charla de Sasa Juric, "The Soul of Erlang and Elixir".
Se comparte la experiencia de haber usado Erlang desde 1991.
Aprender y usar Elixir resulta disfrutable, y se expresa satisfacción con la simplicidad y funcionalidad de BEAM/OTP.
Como ventajas de Elixir, se destaca que tiene la diversión de Ruby, pero elimina las desventajas de la programación orientada a objetos mediante la inmutabilidad y sus características funcionales.
Se señala un malentendido sobre el uso de excepciones como control de flujo en Ruby.
Como usuario de F#, se expresa que Elixir puede resultar confuso.
Desde la experiencia de uso de Elixir, se destacan su facilidad de aprendizaje, el pattern matching y las ventajas de los datos inmutables.
Se advierte contra el optimismo de las primeras etapas respecto a nuevas tecnologías.