Skysoft13

Skysoft13

Which programing language best for concurrency and Parallel programing?

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?

Most Liked

entone

entone

The answers might be a bit biased here :slight_smile: Obviously Elixir.

mpope

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:

  • Does it need to ‘scale’? If the backend will have a max of 100 to 500 concurrent users at a time, do you need an ecosystem that is highly concurrent?
  • Do you need to develop it in house? Can you integrate in an existing OSS application?
  • What are the time constraints? Do you have time to learn a new ecosystem while also developing a new chat app.

Food for thought.

derek-zhou

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.

Last Post!

Skysoft13

Skysoft13

can I develop any project with elixir instead of golang ,django or …? elixir will be enough for me for any project like video streaming, image processing etc?

Where Next?

Popular in Questions Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New

Other popular topics Top

KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36689 110
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement