Cel: +52 (55) 3040-5403 Correo: mariana.velazquez@recluit.com
post-tittle

Puntos para comenzar a utilizar Erlang

Por: Reclu IT

24 de marzo de 2022

Si bien Erlang no es tan popular como algunos lenguajes de programación modernos, es parte esencial para ejecutar aplicaciones como WhatsApp y WeChat que atienden a una gran cantidad de usuarios todos los días.

Erlang es un lenguaje funcional de propósito general orientado a construir sistemas escalables, concurrentes y con garantías de alta disponibilidad.

Fue construido a fines de la década de 1980 en Ericsson para manejar conmutadores telefónicos. En ese momento, los sistemas de conmutación telefónica eran uno de los sistemas más complicados que existían, como lo es Internet en la actualidad. Por esta razón, el lenguaje utilizado para programarlos necesitaba admitir una alta concurrencia y cero tiempo de inactividad.

Después de revisar varias opciones de idioma existentes, tres personas de la empresa (Joe Armstrong, Robert Virding y Mike Williams) decidieron crear una propia. Aquí te mostramos algunas ventajas de este lenguaje de programación:

Sencillez

Erlang no solo es funcional (uno de los paradigmas de lenguajes de programación existentes más simples), sino que también tiene un conjunto muy pequeño de primitivas sintácticas que puede usar. Incluso el aspecto concurrente del lenguaje se realiza utilizando funciones sencillas (con la excepción de la primitiva de recepción).

La simplicidad de Erlang también lo hace muy comprensible, incluso divertido para trabajar.

Gestión de concurrencia y fallas

Los programas simultáneos de Erlang se pueden construir, escalar y distribuir con facilidad. Una vez que hayas configurado la implementación y la integración, escalar los nodos de Erlang y generar nuevos procesos de Erlang en diferentes máquinas se vuelve fácil. La biblioteca estándar de Erlang proporciona funciones fáciles de usar para este mismo propósito, por lo que alcanzar el paralelismo no solo es económico en términos de implementación sino también elegante.

Cuando se trata de fallas en el programa, Erlang también lo respalda. Al generar nuevos procesos, tiene la garantía de recibir una notificación al respecto a todos los monitores y enlaces que se establecieron. Esto permite reabrir automáticamente cualquier proceso fallido, que ya forma parte de la biblioteca estándar de OTP y la forma predeterminada de estructurar aplicaciones de Erlang.

Sintaxis moderna

La sintaxis de Elixir es mucho más fácil de entender si ya has programado en prácticamente cualquier otro lenguaje de programación popular. Elimina una cierta cantidad de código repetitivo y puede conducir a una mayor productividad del desarrollador.

Frameworks

Si te gusta el desarrollo web, Phoenix es uno de los mejores marcos que existen, y definitivamente es el más conveniente si quieres hacer desarrollo web y programación funcional. Hablando de marcos, Elixir también tiene Nerves, un marco increíble para software integrado. Si esta es la ruta que desea tomar, Elixir es una mejor opción.

Comunidad madura

Uno de los aspectos más importantes a considerar cuando se trata de predecir el futuro de una tecnología es verificar qué tipo de comunidad está apoyando y utilizando esa tecnología. Todos hemos visto buenas tecnologías que terminan siendo destruidas con características inútiles y con errores; esto suele ser lo que hace una comunidad tóxica.

La comunidad de Erlang es pequeña, madura y orientada a la simplicidad, lo que la protege de ser destruida. Es por eso que los beneficios y la robustez de Erlang han durado tanto tiempo.

Algunos puntos en contra de este lenguaje de programación:

Configuración

Configurar, aprovisionar e implementar aplicaciones Erlang puede ser difícil de entender y engorroso. Esto se debe a muchas razones, una de las más importantes es la falta de un administrador de paquetes único y adecuado.

Además, la función de recarga en caliente que proporciona Erlang de forma predeterminada ya no es aplicable en la actualidad en la contenedorización de aplicaciones. En lugar de tener que cargar el nuevo código y activar una recarga en caliente, simplemente iniciaría un nuevo contenedor y detendría el que se está ejecutando actualmente. La forma Docker de hacer las cosas difiere un poco de la forma Erlang, por lo que, en algunos casos, es posible que deba aplicar un comportamiento de pirateo para las implementaciones.

Tipado

Erlang es un lenguaje de tipo dinámico, lo que significa que durante la fase de compilación no obtendrá ningún error de tipo. Aunque con un verificador de tipo estático se detectan errores en sus programas durante el desarrollo, la solidez y el manejo de fallas de Erlang hace que los errores durante el tiempo de ejecución sean mucho menos costosos.

También hay algunas otras herramientas que permiten verificar el tipo de sus programas Erlang durante la compilación, como Dialyzer, pero aún carecen de muchas funciones y no detectarán todos los errores que pueda tener, incluso al activar todas las advertencias posibles. Puede obtener algunos errores que son útiles, pero aún perderá muchos errores que se pueden verificar en tiempo de compilación.

En general, Erlang hace un trabajo casi perfecto en el manejo de la concurrencia y la complejidad involucrada al tratar con ella, incluido el manejo de errores, las garantías de concurrencia y la solidez de las arquitecturas. Aunque carece de algunas características muy útiles utilizadas por muchos lenguajes de programación, como un administrador de paquetes adecuado y un verificador de tipos estático, no ofusca sus beneficios.

imagen: @yanalya

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)
post-tittle

Puntos para comenzar a utilizar Erlang

Por: Reclu IT

24 de marzo de 2022

Si bien Erlang no es tan popular como algunos lenguajes de programación modernos, es parte esencial para ejecutar aplicaciones como WhatsApp y WeChat que atienden a una gran cantidad de usuarios todos los días.

Erlang es un lenguaje funcional de propósito general orientado a construir sistemas escalables, concurrentes y con garantías de alta disponibilidad.

Fue construido a fines de la década de 1980 en Ericsson para manejar conmutadores telefónicos. En ese momento, los sistemas de conmutación telefónica eran uno de los sistemas más complicados que existían, como lo es Internet en la actualidad. Por esta razón, el lenguaje utilizado para programarlos necesitaba admitir una alta concurrencia y cero tiempo de inactividad.

Después de revisar varias opciones de idioma existentes, tres personas de la empresa (Joe Armstrong, Robert Virding y Mike Williams) decidieron crear una propia. Aquí te mostramos algunas ventajas de este lenguaje de programación:

Sencillez

Erlang no solo es funcional (uno de los paradigmas de lenguajes de programación existentes más simples), sino que también tiene un conjunto muy pequeño de primitivas sintácticas que puede usar. Incluso el aspecto concurrente del lenguaje se realiza utilizando funciones sencillas (con la excepción de la primitiva de recepción).

La simplicidad de Erlang también lo hace muy comprensible, incluso divertido para trabajar.

Gestión de concurrencia y fallas

Los programas simultáneos de Erlang se pueden construir, escalar y distribuir con facilidad. Una vez que hayas configurado la implementación y la integración, escalar los nodos de Erlang y generar nuevos procesos de Erlang en diferentes máquinas se vuelve fácil. La biblioteca estándar de Erlang proporciona funciones fáciles de usar para este mismo propósito, por lo que alcanzar el paralelismo no solo es económico en términos de implementación sino también elegante.

Cuando se trata de fallas en el programa, Erlang también lo respalda. Al generar nuevos procesos, tiene la garantía de recibir una notificación al respecto a todos los monitores y enlaces que se establecieron. Esto permite reabrir automáticamente cualquier proceso fallido, que ya forma parte de la biblioteca estándar de OTP y la forma predeterminada de estructurar aplicaciones de Erlang.

Sintaxis moderna

La sintaxis de Elixir es mucho más fácil de entender si ya has programado en prácticamente cualquier otro lenguaje de programación popular. Elimina una cierta cantidad de código repetitivo y puede conducir a una mayor productividad del desarrollador.

Frameworks

Si te gusta el desarrollo web, Phoenix es uno de los mejores marcos que existen, y definitivamente es el más conveniente si quieres hacer desarrollo web y programación funcional. Hablando de marcos, Elixir también tiene Nerves, un marco increíble para software integrado. Si esta es la ruta que desea tomar, Elixir es una mejor opción.

Comunidad madura

Uno de los aspectos más importantes a considerar cuando se trata de predecir el futuro de una tecnología es verificar qué tipo de comunidad está apoyando y utilizando esa tecnología. Todos hemos visto buenas tecnologías que terminan siendo destruidas con características inútiles y con errores; esto suele ser lo que hace una comunidad tóxica.

La comunidad de Erlang es pequeña, madura y orientada a la simplicidad, lo que la protege de ser destruida. Es por eso que los beneficios y la robustez de Erlang han durado tanto tiempo.

Algunos puntos en contra de este lenguaje de programación:

Configuración

Configurar, aprovisionar e implementar aplicaciones Erlang puede ser difícil de entender y engorroso. Esto se debe a muchas razones, una de las más importantes es la falta de un administrador de paquetes único y adecuado.

Además, la función de recarga en caliente que proporciona Erlang de forma predeterminada ya no es aplicable en la actualidad en la contenedorización de aplicaciones. En lugar de tener que cargar el nuevo código y activar una recarga en caliente, simplemente iniciaría un nuevo contenedor y detendría el que se está ejecutando actualmente. La forma Docker de hacer las cosas difiere un poco de la forma Erlang, por lo que, en algunos casos, es posible que deba aplicar un comportamiento de pirateo para las implementaciones.

Tipado

Erlang es un lenguaje de tipo dinámico, lo que significa que durante la fase de compilación no obtendrá ningún error de tipo. Aunque con un verificador de tipo estático se detectan errores en sus programas durante el desarrollo, la solidez y el manejo de fallas de Erlang hace que los errores durante el tiempo de ejecución sean mucho menos costosos.

También hay algunas otras herramientas que permiten verificar el tipo de sus programas Erlang durante la compilación, como Dialyzer, pero aún carecen de muchas funciones y no detectarán todos los errores que pueda tener, incluso al activar todas las advertencias posibles. Puede obtener algunos errores que son útiles, pero aún perderá muchos errores que se pueden verificar en tiempo de compilación.

En general, Erlang hace un trabajo casi perfecto en el manejo de la concurrencia y la complejidad involucrada al tratar con ella, incluido el manejo de errores, las garantías de concurrencia y la solidez de las arquitecturas. Aunque carece de algunas características muy útiles utilizadas por muchos lenguajes de programación, como un administrador de paquetes adecuado y un verificador de tipos estático, no ofusca sus beneficios.

imagen: @yanalya

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)

Política de privacidad de www.recluit.mx

Para recibir la información sobre sus Datos Personales, la finalidad y las partes con las que se comparte,
contacten con el Propietario.