Content deleted Content added
→Adoption: Appreciate the good-faith efforts to cover adoption, but add a template as there are some wording issues in this section. Relying on blog posts or other primary sources of unclear reliability is also not workable for qualitative claims about the language's appeal. We may want to wait for better sources for some of these. I'll update the SO dev survey comment though. |
comma |
||
(4 intermediate revisions by the same user not shown) | |||
Line 34:
}}
{{Portal|Computer programming|Free and open-source software}}
'''Gleam''' is a [[General-purpose programming language|general-purpose]], [[concurrent computing|concurrent]], [[Functional programming|functional]], [[High-level programming language|high-level]] [[programming language]] that compiles to [[Erlang (programming language)|Erlang]] or [[JavaScript]] source code.<ref name="Homepage" /><ref>{{cite news | url=https://www.infoworld.com/article/3713460/gleam-language-available-in-first-stable-release.html | title=Gleam language available in first stable release | first=Paul | last=Krill | work=InfoWorld | date=5 March 2024 | access-date=26 March 2024}}</ref><ref name="eastman">{{cite news | url=https://thenewstack.io/introduction-to-gleam-a-new-functional-programming-language/ | title=Introduction to Gleam, a New Functional Programming Language | first=David | last=Eastman | work=The New Stack | date=2024-06-22 | access-date=2024-07-29}}</ref>
Gleam is a statically-typed language,<ref>{{cite news | url=https://www.infoq.com/news/2024/03/gleam-erlang-virtual-machine-1-0/ | title=Erlang-Runtime Statically-Typed Functional Language Gleam Reaches 1.0 | first=Sergio | last=De Simone | work=InfoQ | date=16 March 2024 | access-date=26 March 2024}}</ref> which is different from the most popular languages that run on Erlang’s virtual machine [[BEAM (Erlang virtual machine)|BEAM]], [[Erlang (programming language)|Erlang]] and [[Elixir (programming language)|Elixir]]. Gleam has its own type-safe implementation of OTP, Erlang's actor framework.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=WaHx6n2UZJg |title=Getting to know Actors in Gleam – Raúl Chouza | series=Code BEAM America | date=2024-03-27 |language=en |access-date=2024-05-06 |via=YouTube}}</ref> Packages are provided using the Hex [[package manager]], and an index for finding packages written for Gleam is available.<ref>{{Cite web |title=Introducing the Gleam package index – Gleam |url=https://gleam.run//news/introducing-the-gleam-package-index/ |access-date=2024-05-07 |website=gleam.run |language=en-GB}}</ref>
Line 48 ⟶ 49:
== Adoption ==
Gleam has seen
Although it compiles to run on the BEAM [[virtual machine]], most new Gleam users do not have a background in Erlang nor Elixir, two older BEAM languages.<ref name=GleamSurveyPilfold/> In 2025, Louis Pilfold reported on results from the 2024 developer survey, which received 841 responses.<ref name=GleamSurveyPilfold>{{Cite web |title=Developer Survey 2024 Results |last=Pilfold |first=Louis |url=https://gleam.run/news/developer-survey-2024-results |access-date=2025-08-09 |website=gleam.run}}</ref> Pilfold concluded that Gleam developers "overwhelmingly come from other ecosystems other than Erlang and Elixir".<ref name=GleamSurveyPilfold/>
▲Gleam has seen growing adoption in recent years, supported by an active and enthusiastic community. The language creators have placed strong emphasis on developer experience (DX), which has contributed to its appeal among functional programming enthusiasts and newcomers alike.<ref>[https://tahazsh.com/blog/why-gleam-is-good/ Why Gleam Is Good]</ref>
The core team also reported on Gleam's efforts to expand the BEAM ecosystem in a keynote talk at Code BEAM Europe 2024.<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=6I0IbJtUC3U |title=Keynote: Gleam's Journey on the BEAM - Hayleigh Thompson & Louis Pilfold {{!}} Code BEAM Europe 2024 |date=2024-10-28 |last=Code Sync |access-date=2025-08-09 |via=YouTube}}</ref>
Developers
In 2025, Gleam appeared for the first time in the Stack Overflow Developer Survey, where it was the 2nd "most admired" language, with 70% of users currently using the language wanting to continue working with it.<ref name=SOSurvey>{{Cite web |title=Technology {{!}} 2025 Stack Overflow Developer Survey |url=https://survey.stackoverflow.co/2025/technology |access-date=2025-08-09 |website=survey.stackoverflow.co |language=en}}</ref> 1.1% of developer respondents reported doing "extensive development work" in the language over the past year.<ref name=SOSurvey/>
▲Developers frequently cite Gleam’s simplicity, static typing, and user-friendly tooling as key reasons for adoption. Companies using Gleam in production environments highlight its strong developer ergonomics and maintainability. For example, the team behind Nestful described their motivations for rewriting the project in Gleam as driven by its clarity and ease of use.<ref>[https://blog.nestful.app/p/why-i-rewrote-nestful-in-gleam Why I Rewrote Nestful in Gleam – Nestful Blog]</ref> A community-maintained list of companies using Gleam in production<ref>[https://github.com/isaacharrisholt/gleam-in-production Gleam in Production – GitHub]</ref> further reflects its growing presence in real-world applications.
== Features ==
{{See also|Functional programming}}
Gleam includes the following features, many common to other functional programming languages:<ref name="eastman"/><ref name="techgig">{{cite web | url=https://content.techgig.com/technology/meet-gleam-a-new-programming-language-for-developers/articleshow/111258887.cms | title=Meet GLEAM: A new programming language for developers | first=Gaurav | last=Sharma | date=2024-06-25}}</ref>▼
▲Gleam includes the following features
* [[Result type]] for error handling
* [[Immutable object]]s
Line 95 ⟶ 97:
== Implementation ==
Gleam's toolchain is implemented in the [[Rust (programming language)|Rust programming language]].<ref>{{Cite web |title=gleam-lang/gleam |date=2024-05-06 |url=https://github.com/gleam-lang/gleam |access-date=2024-05-06 |publisher=Gleam}}</ref> The toolchain is a single native binary executable which contains the compiler, build tool, package manager, source code formatter, and [[Language Server Protocol|language server]].{{cn|date=August 2025}} A [[WebAssembly]] binary containing the Gleam compiler is also available, enabling Gleam code to be compiled within a [[web browser]].{{cn|date=August 2025}}
== References ==
|