Elixir un lenguaje con futuro

Hola Elixir

Elixir ha llegado para cambiar nuestra percepción a la hora de enfrentarnos a un leguaje de codificación.

Definición

Es un lenguaje de programación informática que se ejecuta sobre la máquina virtual Erlang (Erlang VM) es un lenguaje funcional, (1) concurrente, (2) y de carácter general (3). La Erlang MV es usada por compañías tales como Warcraft, Heroku, Machine Zone, TMobile, Bet365, Pinterest, Discord, Pager Duty, Moz, Amazon y WhatsApp, que le aporta un respaldo significativo a la efectividad de la máquina virtual Erlang.

Elixir y Erlang MV comparten sobre un 80% de su desarrollo pero Elixir ha incluido un 20% nuevo a ese código que nos ha tele-transportado a unas mejoras exponenciales en su usabilidad como lenguaje sobre todo cuando hablamos de aplicaciones Web.

1 <<el lenguaje funcional: es un cambio de paradigma pues no define cómo quieres resolver un problema, sino que define cuál es el problema que nos ayudará a hacer un código más limpio.>>

2 <<La programación concurrente: tiene la capacidad de ejecutar de forma simultánea múltiples tareas. Dichas tareas pueden ser un grupo de procesos creados por un único programa. Las tareas podrían ejecutarse en una CPU de multiprogramación, en varios procesadores, o en una red de ordenadores.>>

3 <<Carácter general: no se creó para una tarea específica sino para todo tipo de aplicaciones.>>

Nacimiento

José Valim es el creador de Elixir en un proyecto de investigación y de desarrollo de Plataformatec consultora de la que es cofundador. Su objetivo era crear un lenguaje que permitiese una alta extensibilidad (4) y productividad en la máquina virtual Erlang conocida como BEAM. Manteniendo su compatibilidad con el sistema Erlang pero mejorándolo considerablemente.

Creado para desarrollar aplicaciones fáciles de mantener y que fuesen escalables, diseñado para gestionar grandes volúmenes de datos.

4 <<La extensibilidad: es la capacidad del software para agregar funcionalidad sin dañar el sistema.>>

  • 1º versión: 9 Enero 2011
  • Última versión: 1.8.2 (12 de Mayo 2019)
  • Influencias destacadas: Erlang, Ruby, Clojure.

Características principales…

La Metaprogramación (5) que te permitirá manipular directamente el AST (árbol de sintaxis abstracta).

Fue diseñado para tener una latencia muy baja, lo que permite procesar grandes cantidades de datos con mínimos retrasos. Los cambios se suceden muy rápido, lo que le aporta un gran valor comercial, pues no requiere el esfuerzo extra que se realiza en otros lenguajes de códigos para reducir la latencia.

Phoenix es su aliado con su potente framework que utiliza un modelo MVC (6) sin comprometer el mantenimiento, ni su velocidad. Dispone de un abanico de herramientas para los desarrolladores, permitiéndoles crear aplicaciones web escalables (7) Nos muestra un lenguaje muy fácil de comprender, el lenguaje tiene una sintaxis moderna y simplificada y permite utilizar directamente las bibliotecas de Erlang.

5 <<Metaprogramación: Es un proceso por el cual escribimos programas que generan, manipulan o hacen uso de otros programas.

6 <<MVC: es un patrón de arquitectura de software que utiliza 3 componentes: “Vistas, Models y Controladores” diferencia la lógica de la aplicación, de la lógica de la vista en una aplicación.>>

7 <<Web escalable: Es aquella que puede aumentar el volumen de su base de datos, incorporar módulos, atender a un mayor número de usuarios sin dejar de funcionar ni empeorar la calidad de su servicio.>>

No olvidemos que…

Los procesos se suceden al unísono, y con un retraso mínimo, permitiéndole emplear múltiples operaciones y usuarios al mismo tiempo. Auna la fuerza que la “Erlang VM” le confiere añadiendo su capacidad de concurrencia, y la granítica base que ha forjado durante años.

Sus mecanismos de seguridad mejoran exponencialmente su tolerancia a los fallos. Al ser un lenguaje compilado, (8) aunque se comporte como un lenguaje interpretado (9), permitirá manejar con soltura cualquier error interno.

La máquina virtual Erlang tiene un mecanismo que le permite aislar los módulos que presentan errores internos en la aplicación, así que, el programa continuará funcionando incluso soportando esos errores en el programa.

Las pruebas de rendimiento muestran a Elixir una gran productividad en relación con Ruby, esto refleja a Elixir como una opción altamente interesante para implementar su uso por los programadores y equipos de desarrollo web.

8 <<El lenguaje compilado requiere un paso adicional antes de ser ejecutado.>>

9 <<El lenguaje interpretado, es convertido a código a medida que es ejecutado.>>

Llegados a este punto…

Hidup.io en todos nuestros proyectos utilizamos este impresionante lenguaje de programación para que nuestros clientes dispongan en sus aplicaciones de las mejores herramientas que actualmente existen en el mercado.

Pídenos consejo profesional para tu proyecto u empresa encontraremos la mejor solución para tus necesidades.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *