5 ms·
I've been running through the gleam course on Exercism[0] and enjoying it so far. I like Erlang and the BEAM's mature, cohesive, rock-solid support for concurr
by spinningslate 3y ago
I've been running through the gleam course on Exercism[0] and enjoying it so far. I like Erlang and the BEAM's mature, cohesive, rock-solid support for concurrency and distribution. I also like statically typed functional languages. Gleam fits in the sweet spot intersection of both.
It's still early days in its evolution, and it remains to be seen if it manages to reach self-sustaining popularity like Elixir has. I hope it does. A statically typed, functional language on the BEAM with a healthy ecosystem is pretty much my dream platform.
[0]: https://exercism.org/tracks/gleam https://exercism.org/tracks/gleam
- AlchemistCamp 3y agoIt’s been ongoing since at least 2016, and I don’t think it will ever reach Elixir’s level of use. I’m glad it exists and people have more options, but don’t use it. It doesn’t have macros, which are one of Elixir’s most important features. Even if you rarely write macros yourself in application code, the most popular libraries in the ecosystem (Ecto, Phoenix, Absinthe, etc) make heavy use of them. The popular DSLs they provide wouldn’t otherwise be possible.
- lpil 3y agoGleam started in 2018 but has only been worked on full time for 1 year. Compared to Elixir it's very young. I think it's a bit strange to bring up macros here. There are lots of languages that don't have Elixir's macro system, and they're doing fine.
- AlchemistCamp 3y agoOh, strange that github had a date of September 14th, 2016 on this one: https://github.com/gleam-lang/gleam/issues/2 https://github.com/gleam-lang/gleam/issues/2 I was just going by that. Re: macros, I brought them up because their absence was a reason I wasn’t drawn to the language when I checked it out a few years ago. I really do think macros are a big deal and all the other newer languages I use, such as Rust, have them or some kind of meta-programming features.
- lpil 3y agoBest not confuse your personal preference for macros with a requirement for the global programming population. Most languages do not use macros, metaprogramming is comparatively niche and doesn’t lend itself well to the style of programming people are attracted to Gleam for.
- AlchemistCamp 3y ago> Best not confuse your personal preference for macros with a requirement for the global programming population. I didn't. I said don't use Gleam and then said why. I care about having ergonomic DSLs and a RAD web framework that's maximally productive for individuals and small teams. Others care about different goals. As I said above, I'm also glad Gleam exists and people have more options.
- lpil 3y agoYou actually said that Gleam won't reach Elixir's levels of success.
- lolinder 3y agoGleam is a different language, so just because macros are the most important feature in Elixir doesn't mean that their absence in Gleam will be a problem. There's a lot to like about Elixir as a language, but the BEAM is great in its own right and a static language on the BEAM can stand on its own, not just an "Elixir but without macros".
- AlchemistCamp 3y agoMacros aren’t the most important feature of Elixir. They’re possibly the most important feature that gives me a reason to choose it over Erlang. I think the BEAM is the most important thing about either language.
- crowdhailer 3y agoI think Gleam will far exceed Elixir's level of use. Avoiding complexity like macros is one of the reasons I think this. (it's similar to the go philosophy of simplicity, but gleam more does it more consistently than go). But I guess only time will tell.
- asplake 3y agoI did most of that course and enjoyed it too. With regard to BEAM, OTP etc, do you have any Gleam-specific reading recommendations? The bit I’m unsure about now is how to structure and deploy a semi-serious server-side app that has some state to manage.