Live data from Hacker News

10 years-ish of Elixir

dashbit.co

101–110 of 127 posts

Re: 10 years-ish of Elixir

#101
Last year, I deployed a system consisting of 4 Elixir applications, and recently added a new one built with LiveView, which took 2 days to write (1 of which was more of a learning day). I also built some helper services that are used in other projects. Phoenix nicely fits the microservice as well as the full-stack use-case.

LiveView is a bit of a game-breaker for me. Most of my job is writing CRUD apps and you just can't beat LiveView on that turf. Unless you have some super complex interactivity in your app or are a unicorn planning to scale to infinity, I don't see a reason to use another stack. If the web weren't so terrible and just plain old, we could have even better solutions, but this is the best for now.

Re: 10 years-ish of Elixir

#102
post #91
post #8

Happy Elixir user here. At work we have a use case that isn't covered by José's high-level overview of the domains Elixir's used in: we run a massive multiplayer game server on it. This is actually a really good fit. (It kind of rhymes with the original use of Erlang, being telecoms infrastructure.) We get outstanding concurrency support, high reliability, and really efficient development times. I can't imagine shipp…

Do you use it for server side game logic too? It's not as ambitious as an MMO, but I like to use MUDs to learn new languages. I've been (slowly) working on one to learn Elixir and I'm actually finding the concurrency model somewhat difficult to use for the MUD - especially the single world that every player connects to. I ended up writing my own kind of software transactional memory library to help me out: https://gi…

You'd likely be interested in the work done by Eric Oestrich in building MUDs with Elixir.

Kalevala: a world building toolkit for text based games, written in Elixir [0]

ExVenture: a text based MMO server written in Elixir [1]

Grapevine: a MUD chat network [2]

[0] https://github.com/oestrich/kalevala

[1] https://github.com/oestrich/ex_venture

[2] https://github.com/oestrich/grapevine

Re: 10 years-ish of Elixir

#103

Author here! The article was published earlier this week and I have a quick addendum: regarding Erlang/Elixir, my goal has always been to bring new developers to the platform. After all, Erlang developers already have the most important part of Elixir, which is the Erlang runtime! There are also key people in both communities working hard to make sure the tooling is consistent across all languages. A lot of this effo…

Great Post José!

I remember early presentations on Elixir (I think first at Erlang DC in 2011 or 12?) and it's been great to watch Elixir mature and develop.

While I'm strongly in the Erlang camp, I do appreciate the work you and the contributors to Elixir have done for the ecosystem as a whole.

Re: 10 years-ish of Elixir

#104

Author here! The article was published earlier this week and I have a quick addendum: regarding Erlang/Elixir, my goal has always been to bring new developers to the platform. After all, Erlang developers already have the most important part of Elixir, which is the Erlang runtime! There are also key people in both communities working hard to make sure the tooling is consistent across all languages. A lot of this effo…

Thanks for Elixir and to the team as well for the work you put. I'm new to Elixir, had to learn it at work and it's been an interesting way to solve problems. I'm looking forward to deploying a few prototypes this year using Elixir. Thanks.

Re: 10 years-ish of Elixir

#105
post #5

Earlier quoted context omitted.

I'm going to shamelessly take advantage of your being here with a question if that's ok. Do you have any recommendations for reading material that covers Phoenix as it's used today? Back in the early 0.x days I read the Phoenix book, which was a great introduction to building an application and using Ecto, but trying to pick it up again recently I found that nothing really seems to cover using Contexts in the real wo…

Have a look at this - https://pragmaticstudio.com They have courses on Elixir, Phoenix and today have just released a LiveView course.

Just adding that I found those courses really helpful as well.

Re: 10 years-ish of Elixir

#106

I'm building my first non-toy app in LiveView. I'm blown away by how quickly I can move with it and love how Phoenix encourages DDD practices. I'm a bit saddened that Elixir isn't bigger than it is. It's such a great entry into the world of BEAM and functional programming yet I've read more than once that people aren't interested because "it looks like Ruby and I don't like Ruby". There are some more legit reasons as…

What turned me off about elixir was not the syntax, it was the flexibility in designing new syntax. It felt like each library had its own idioms and syntax rules, which just adds a huge amount of variety and difficulty in a codebase. It was hard to have consistent architectural patterns across a team. I've seen an elixir/phoenix backend rewritten completely in python/django and it was a big improvement in developer p…

That's the exact reason why I won't be doing anymore Ruby development and haven't for almost 2 years. It's an awesome language, but everything's got to be a DSL and metaprogrammed with those people. Eventually I realized all that added complexity isn't worth it, though I suppose if it makes your company depend on you if you're the only person who understands the Eldrich abomination you've written.

Re: 10 years-ish of Elixir

#107

Author here! The article was published earlier this week and I have a quick addendum: regarding Erlang/Elixir, my goal has always been to bring new developers to the platform. After all, Erlang developers already have the most important part of Elixir, which is the Erlang runtime! There are also key people in both communities working hard to make sure the tooling is consistent across all languages. A lot of this effo…

Thank you Jose for your relentless dedication to the language and community. The last year of full-time Elixir/Phoenix has been my favorite of my career, and I'm really looking forward to future of the ecosystem.

Re: 10 years-ish of Elixir

#108

Author here! The article was published earlier this week and I have a quick addendum: regarding Erlang/Elixir, my goal has always been to bring new developers to the platform. After all, Erlang developers already have the most important part of Elixir, which is the Erlang runtime! There are also key people in both communities working hard to make sure the tooling is consistent across all languages. A lot of this effo…

Thank you for your work on adding user registration and authorization to Phoenix!

I'm setting up a new Phoenix app for a side project this weekend and have just run Arron Renner's auth generator[1]. Having user registration out of the box will save a big chunk of time and energy!

1: https://github.com/aaronrenner/phx_gen_auth

Re: 10 years-ish of Elixir

#109
post #91
post #8

Happy Elixir user here. At work we have a use case that isn't covered by José's high-level overview of the domains Elixir's used in: we run a massive multiplayer game server on it. This is actually a really good fit. (It kind of rhymes with the original use of Erlang, being telecoms infrastructure.) We get outstanding concurrency support, high reliability, and really efficient development times. I can't imagine shipp…

Do you use it for server side game logic too? It's not as ambitious as an MMO, but I like to use MUDs to learn new languages. I've been (slowly) working on one to learn Elixir and I'm actually finding the concurrency model somewhat difficult to use for the MUD - especially the single world that every player connects to. I ended up writing my own kind of software transactional memory library to help me out: https://gi…

If concurrency doesn't help, you can always just not use it. You don't need to run logically separate modules in different processes.

What if you put the entire state in a single GenServer? You can still delegate modifying different parts of the state to different modules, just call functions in those modules from a single server process.

Re: 10 years-ish of Elixir

#110
post #91

Earlier quoted context omitted.

Do you use it for server side game logic too? It's not as ambitious as an MMO, but I like to use MUDs to learn new languages. I've been (slowly) working on one to learn Elixir and I'm actually finding the concurrency model somewhat difficult to use for the MUD - especially the single world that every player connects to. I ended up writing my own kind of software transactional memory library to help me out: https://gi…

You'd likely be interested in the work done by Eric Oestrich in building MUDs with Elixir. Kalevala: a world building toolkit for text based games, written in Elixir [0] ExVenture: a text based MMO server written in Elixir [1] Grapevine: a MUD chat network [2] [0] https://github.com/oestrich/kalevala [1] https://github.com/oestrich/ex_venture [2] https://github.com/oestrich/grapevine

[deleted]
Post reply on HN