Hi, what type of apps I can make with elixir? Can I make ai, cloud computing solution with elixir?? I want start = learning this language but I need know what can I make with it.
Elixir is not suited for heavy lifting. If you want to do a ton of calculations – like in Deep Learning – you are better off using the more native solutions in C++, Go, Rust, Java even.
However, Elixir is practically extremely well-suited for everything else. It excels in utilizing all CPU cores and distributing work transparently on a single node. It does require a bit more effort to go multi-computer but it’s IMO still much quicker than many other languages.
(EDIT: To clarify on raw performance, you should still keep in mind that Elixir is much faster than languages like PHP, Python or Ruby; goes anywhere from 10x to 500x depending on frameworks and techniques used. So don’t count out Elixir out for any processing; but if you really need the last cent of value out of a rented resource for heavy-duty number crunching, definitely go for Go, Rust, OCaml or, if your life is not dear to you, C++)
Elixir has a very terse syntax and has building blocks of very high quality (like Task.async_stream or Enum.map_reduce). Tasks that took me 100 lines of code in Java and 40-50 in Ruby, routinely take only 5-10 lines of code in Elixir. This helps people to quickly parse each other’s code and thus helps with maintenance and teamwork a lot. It also helps the programmers to not forget what were they doing at earlier phases of the project.
Elixir is dynamically typed but with typespecs (think of them as opt-in typing contracts) and pattern-matching you can make it much stricter than Go or Java whose “strict” typing is technically optional and people end up making a lot of code that only knows what it works with at runtime, and thus their speed advantage vanishes and they end up being as slow as PHP or even Ruby.
It’s hard to convey the exact positives until you truly start learning it.
But I think it’s gonna be the best if you give several examples of projects you would like to do with Elixir and we can tell you honestly if the language is a good choice for them.
You might find this thread interesting:
From the same thread:
Seriously though, Elixir is a pretty versatile language and is especially suited things where you need to do lots and lots of things concurrently. What I’ve said about Elixir previously…