Gleam es un lenguaje de programación de alto nivel , funcional , concurrente y de propósito general que se compila a código fuente Erlang o JavaScript . [ 2 ] [ 7 ] [ 8 ]
Gleam es un lenguaje de tipado estático, [ 9 ] lo que lo diferencia de los lenguajes más populares que se ejecutan en la máquina virtual de Erlang, como BEAM , Erlang y Elixir . Gleam tiene su propia implementación segura de tipos de OTP, el marco de actores de Erlang. [ 10 ] Los paquetes se proporcionan mediante el gestor de paquetes Hex , y hay un índice disponible para encontrar paquetes escritos para Gleam. [ 11 ]
Historia
Gleam fue creado originalmente en 2016 por Louis Pilfold para una charla en una conferencia. Posteriormente fue rediseñado y adaptado hasta convertirse en lo que es hoy. [ 6 ]
La primera versión numerada de Gleam se publicó el 15 de abril de 2019. [ 12 ] La compilación a JavaScript se introdujo con la versión v0.16. [ 13 ]
En 2023, la Fundación del Ecosistema Erlang financió la creación de un curso para aprender Gleam en la plataforma de aprendizaje Exercism . [ 14 ]
La versión v1.0.0 se publicó el 4 de marzo de 2024. [ 15 ]
En abril de 2025, Thoughtworks añadió Gleam a su Radar Tecnológico en el anillo Assess (lenguajes y marcos que vale la pena explorar). [ 16 ]
Adopción
Gleam ha experimentado cierta adopción en los últimos años. [ 17 ] Según una publicación de blog, los creadores del lenguaje han puesto un fuerte énfasis en la experiencia del desarrollador (DX), lo que ha contribuido a su atractivo. [ 18 ]
Aunque se compila para ejecutarse en la máquina virtual BEAM , la mayoría de los nuevos usuarios de Gleam no tienen experiencia en Erlang ni en Elixir, dos lenguajes BEAM más antiguos. [ 19 ] En 2025, Louis Pilfold informó sobre los resultados de la encuesta a desarrolladores de 2024, que recibió 841 respuestas. [ 19 ] Pilfold concluyó que los desarrolladores de Gleam "provienen abrumadoramente de otros ecosistemas distintos de Erlang y Elixir". [ 19 ] El equipo principal también informó sobre los esfuerzos de Gleam para expandir el ecosistema BEAM en una charla magistral en Code BEAM Europe 2024. [ 20 ]
Los desarrolladores han citado la simplicidad de Gleam, el tipado estático y las herramientas fáciles de usar como razones para su adopción. [ 21 ] El desarrollador detrás de Nestful describió sus motivaciones para reescribir el proyecto en Gleam como impulsadas por su claridad y facilidad de uso. [ 22 ] Existe una lista mantenida por la comunidad de empresas que utilizan Gleam en producción. [ 23 ]
En 2025, Gleam apareció por primera vez en la encuesta de desarrolladores de Stack Overflow, donde fue el segundo lenguaje "más admirado", con un 70 % de los usuarios que lo utilizaban y que deseaban seguir trabajando con él. [ 17 ] El 1,1 % de los desarrolladores encuestados informó haber realizado "trabajo de desarrollo extenso" en el lenguaje durante el último año. [ 17 ]
Características
Gleam incluye las siguientes características. [ 8 ] [ 24 ]
- Tipo de resultado para el manejo de errores
- objetos inmutables
- Tipos de datos algebraicos
- Coincidencia de patrones
- No se permiten punteros nulos
- No se permiten conversiones de tipo implícitas.
Ejemplo
Un ejemplo de "¡Hola, mundo!" :
importar gleam / iopub fn main () { io . println ( "hola, mundo!" ) }Gleam admite la optimización de llamadas de cola : [ 25 ]
pub fn factorial ( x : Int ) -> Int { // La función pública llama a la función recursiva de cola privada factorial_loop ( x , 1 ) }fn factorial_loop ( x : Int , acumulador : Int ) -> Int { case x { 1 -> acumulador// Lo último que hace esta función es llamarse a sí misma _ -> factorial_loop ( x - 1 , acumulador * x ) } }Implementación
El conjunto de herramientas de Gleam está implementado en el lenguaje de programación Rust . [ 26 ] Este conjunto de herramientas es un único ejecutable binario nativo que contiene el compilador, la herramienta de compilación, el gestor de paquetes, el formateador de código fuente y el servidor de lenguaje . También está disponible un binario WebAssembly que contiene el compilador de Gleam, lo que permite compilar el código de Gleam en un navegador web . [ 27 ] Esto se utiliza en el recorrido interactivo del lenguaje de Gleam [ 28 ] y en el entorno de pruebas en línea. [ 29 ]
Referencias
- ↑ "Problemas con gleam-lang/gleam: nuevo logotipo y mascota #2551" . GitHub .
- 1 2 3 "Página de inicio de Gleam" . 2024.
- ↑ "Versión 1.17.0" . 2 de junio de 2026. Consultado el 3 de junio de 2026 .
- ↑ "Instalando Gleam" . 2024.
- ↑ "Archivo de licencia de Gleam" . GitHub . 5 de diciembre de 2021.
- 1 2 Pilfold, Louis (7 de febrero de 2024). "Gleam: ¡Pasado, Presente, Futuro!" . Fosdem 2024 – vía YouTube.
- ↑ Krill, Paul (5 de marzo de 2024). "Lenguaje Gleam disponible en la primera versión estable" . InfoWorld . Consultado el 26 de marzo de 2024 .
- 1 2 Eastman, David (22 de junio de 2024). "Introducción a Gleam, un nuevo lenguaje de programación funcional" . The New Stack . Recuperado el 29 de julio de 2024 .
- ↑ De Simone, Sergio (16 de marzo de 2024). "Gleam, el lenguaje funcional de tipado estático para Erlang-Runtime, alcanza la versión 1.0" . InfoQ . Consultado el 26 de marzo de 2024 .
- ↑ Conociendo a los actores de Gleam – Raúl Chouza . Code BEAM America. 27 de marzo de 2024. Consultado el 6 de mayo de 2024 a través de YouTube.
- ↑ "Presentación del índice de paquetes Gleam – Gleam" . gleam.run . Consultado el 7 de mayo de 2024 .
- ↑ "Hola, Gleam! – Gleam" . gleam.run . Consultado el 6 de mayo de 2024 .
- ↑ "v0.16 – ¡Gleam compila a JavaScript! – Gleam" . gleam.run . Consultado el 7 de mayo de 2024 .
- ↑ Alistair, Woodman (diciembre de 2023). "Informe del presidente de la Asamblea General Anual de la Fundación del Ecosistema de Erlang 2023" .
- ↑ "Gleam versión 1 – Gleam" . gleam.run . Consultado el 7 de mayo de 2024 .
- ↑ "Thoughtworks Technology Radar, Gleam" . 2025.
- 1 2 3 "Tecnología | Encuesta para desarrolladores de Stack Overflow 2025" . survey.stackoverflow.co . Consultado el 9 de agosto de 2025 .
- ↑ Por qué Gleam es bueno
- 1 2 3 Pilfold, Louis. "Resultados de la encuesta a desarrolladores 2024" . gleam.run . Consultado el 9 de agosto de 2025 .
- ↑ Code Sync (28 de octubre de 2024). Conferencia magistral: El viaje de Gleam en BEAM - Hayleigh Thompson y Louis Pilfold | Code BEAM Europe 2024. Consultado el 9 de agosto de 2025 a través de YouTube.
- ↑ Lingris, Alex (25 de noviembre de 2025). "Reescribimos nuestra startup de PHP a Gleam en 3 semanas" . www.radical-elements.com . Consultado el 16 de diciembre de 2025 .
- ↑ Nestful. "Por qué reescribí Nestful en Gleam" . blog.nestful.app . Consultado el 9 de agosto de 2025 .
- ↑ Harris-Holt, Isaac (31 de julio de 2025), isaacharisholt/gleam-in-production , consultado el 9 de agosto de 2025
- ↑ Sharma, Gaurav (25 de junio de 2024). "Conoce GLEAM: Un nuevo lenguaje de programación para desarrolladores" .
- ↑ "Tail Calls" . The Gleam Language Tour . Consultado el 26 de marzo de 2024 .
- ↑ "gleam-lang/gleam" . Gleam. 6 de mayo de 2024. Consultado el 6 de mayo de 2024 .
- ↑ "Nuevo recorrido interactivo por el lenguaje de Gleam | Lenguaje de programación Gleam" . gleam.run . Consultado el 16 de diciembre de 2025 .
- ↑ "¡Bienvenidos al tour de idiomas de Gleam! 💫 - El Tour de Idiomas de Gleam" . tour.gleam.run . Consultado el 16 de diciembre de 2025 .
- ↑ "El parque infantil Gleam" . playground.gleam.run . Consultado el 16 de diciembre de 2025 .
Enlaces externos
- Sitio web oficial
- Gleam-lang en GitHub
- Lenguajes de programación
- JavaScript
- Erlang (lenguaje de programación)
- Lenguajes de programación concurrentes
- Compiladores libres y de código abierto
- Proyectos de software libre
- Lenguajes funcionales
- Lenguajes de programación de alto nivel
- Lenguajes de programación multiparadigma
- Lenguajes de programación que coinciden con patrones
- Lenguajes de programación creados en 2016
- Software que utiliza la licencia Apache.
- Lenguajes de programación de tipado estático