Skysoft13
I want to develop caht app for mobile platform, but I want to be sure which programing language best for concurrency and Parallel programing like elixir, erlang or golang?
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
Hi all,
I’m working on a Phoenix project where I need to make external HTTP requests and I’m trying to choose between Req and HTTPoison....
New
How do I tell Hologram not to escape HTML when substituting into templates?
{Textile.render(@product.long_description)}
escapes the HTM...
New
I’d like to create a file with 600 permissions (rw-------), but there’s a race condition if I create it and then change the permissions. ...
New
Hi,
we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New
When I use Mix.install with a git dependency, using git@github.com:... how do I change the SSH identity used?
I’ve got two Github accoun...
New
Hello all. I have a question as to best practices for code organization when implementing a liveview with a lot of responsibilities.
Sup...
New
Other Trending Topics
Hey there,
I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first.
...
New
Hi everyone :waving_hand:
I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly)
AI dream has many faces, but general...
New
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #code-sync
- #discussion
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #blog-post
- #elixirconf-us
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #elixirconf-eu
- #processes
- #security
- #api
- #forms
- #performance










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
entone
The answers might be a bit biased here
Obviously Elixir.
kokolegorille
The BEAM vm is good at this.
Between Erlang and Elixir, it’s just a question of syntax.
Rainer
Maybe you want to consider that the people who did this already quite successfully (WhatsApp) used Erlang?
As @kokolegorille mentioned, whether Erlang or Elixir is a matter of taste.
Just if you’re considering a web-frontend you might want to go with Elixir/PhoenixFramework/LiveView…
mpope
While Erlang/Elixir is good for concurrency and there is a good amount of prior art for chat apps (like Ejabberd or Mongoose), I can give a cautionary scenario against choosing Elixir or Erlang.
If you work in an organization who has an existing ecosystem, and every person in the organization is reasonably familiar with that ecosystem, then languages and libraries in that environment might be best. For example, if you are in an example that uses mainly JVM with a mix of languages like Kotlin/Android on the front end, Java or Scala on the backend, then I’d reach for Akka or even Spring Boot + WebSockets. Consider the cognitive overhead for an organization to introduce a new paradigm, a new runtime, a new school of thought. If the ‘original developers’ who were interested in Elixir/Erlang leave, then will the existing JVM developers be able to debug the application in production? Add new features? Understand the severity of a VM alert?
Other questions to ask:
Food for thought.
derek-zhou
shameless plug: I have a toy chat application deployed here:
The code is here:
Thanks to Elixir, Phoneix, Liveview and Surface, I didn’t have to write a lot of code. It supports a reduced version of markdown in chat, opengraph preview of link and more.
Rainer
Always a good recommendation if for some reason one needs to stick with java or c#
Sebb
Thousands or billions of users?
You can easily build a chat app with a few lines of JS and firebase.
If you want to go big, BEAM is the obvious choice.
Regarding concurrency in general.
There are different models how to do that. The most important trait of those is: how do the parts of the system communicate with each other?
(1) tends to be easy at first but good chance it becomes a mess.
(2) harder to get started but better chance of a stable and clear system
(concurrency is hard, there is no easy perfect way)
So beeing on an Elixir forum its no stunner: I vote for message passing.
Go and Erlang/Elixir both use message passing for concurrency. But they are not the same. Go has Goroutines - functions that run concurrently - easy, solid and fun. Erlang/Elixir implement the Actor Model. Not that simple but therefore way more powerful.
Skysoft13
yes sure, like whats app, I guess js and firebase for small team
Skysoft13
no, I prefer chat app like whats app, it is not small app
derek-zhou
Using firebase would be cheating
My understanding of the gorotines is they are async/await in disguise. Just like async/await, there is no preemption so in a busy concurrent scenario it will suffer from latency spikes.