AngeloChecked

AngeloChecked

What learn first? Rust or Elixir

Hi Elixir community!

I’m here because i want learn a new language. I’m a junior developer and mainly i develop a microsevices web app with spring-boot, rabbitmq and Kotlin.

I don’t want a discourse rust vs elixir, it isn’t my intention because i want learn both.

But my problem is:
With the precondition of a deep focus on only one language for two years,
what is the language give me greater value to learn first?

I pretty know about Elixir and Rust, they have very different purpose (if i forgot something, please post it in this discourse):

  • Rust is a compiled strong typed language, inspired by the most healthy part of functional programming, developed for: not having garbage collector, high performance requirements, native concurrency facilities, safety and correctness thanks to amazing compile time verifications and advanced concepts named Ownership, Borrowing, and Lifetime.
  • Elixir is a functional non typed language developed on top the BEAM virtual machine.
    Fundamentally Elixir is Erlang with a particular focus on web development and in a improved developer user experience.
    Erlang is created by the Ericsson company in order to handle fault tollerant and soft realtime telecommunications traffic. An application written with this language is a kind of operating system that manage several number of concurrent and totally isolated virtual process that send message each other. This particular architecture called Actor Model and a particular framework called OTP give to the language easy but powerful facilities to develop distributed system.

Now my question is:

According to your expectations of the evolution of the web development world,
what is the most valuable skill to learn in the next two years? Rust or Elixir? and Why?

please you don’t give to me the jolly answer: it depends by what you want. You give me your first, not too reasoned predictions/expectations.

thanks for your time.

Showing Posts 1 to 10

cmo

cmo

for web development, Elixir.

VictorGaiva

VictorGaiva

I just started learning elixir, but I code for about 7 years. My suggestion is to avoid this idea of “locking” yourself to only learning ine specific language. A language is just a tool. Some tools are better for some jobs than others.

My suggestion is to find what you want to accomplish first, then you think about what tool to use. Try to learn the main concepts of both and when you find a good project, then you can use the one that does the job better

sergio

sergio

two completely different language archetypes and use cases. if you’re doing web go with elixir, if you’re doing serious number crunching do with rust. but they are definitely not interchangeable. it’s like comparing c++ and ruby.

stevensonmt

stevensonmt

Do you want to enjoy the learning process or do you like being frustrated at every turn? Rust is great in many ways but the learning curve is steep. For almost 3 years I battled the compiler before I was able to write simple programs without dealing with lifetime and type errors at every turn. The ecosystem around rust, especially for web development, is both immature (almost nothing is at 1.0) and sprawling. Whereas Elixir has Phoenix, Rust has warp, actix, rocket, gotham, tide, tower, thruster, roa, rouille, surf, and on and on. Actix and Rocket are the more prominent, to be sure, but neither is really an accepted default solution.
I am just getting started with Elixir but I can tell you the experience so far has been much more enjoyable. Having a few standard options beats a million options or having to reinvent the wheel yourself.
Both languages seem to have great learning resources available. Documentation is a priority for both ecosystems. The Rust users forum is friendly and helpful, as this forum has been.

brightball

brightball

In my opinion, Elixir. It will change the way you think about problems and open your eyes to things are aren’t paying much attention (most likely) yet.

I haven’t seen that type of impact with Rust.

stevensonmt

stevensonmt

I’m sure it depends on your background. Having no formal comp sci training, my experience with Rust really did open my eyes to a lot of things such as the choice of data structure, why immutability matters for safety/correctness, and of course ownership/scope. For all the frustration it caused me I am indebted to the Rust project for a real growth in my skill and understanding. Whether focusing on another language would have had the same impact I cannot say.

adamk

adamk

Both elixir and rust will open your eyes to new things. I recommend learning both, but for the web case start with elixir. With rust I started with a “simple” cli tool. I say simple with just a little bit of humor because if you’re a rust noob, like I am, you’ll likely fight the compiler until you learn the rust way. I think elixir and rust complement each other nicely and each has super powers.

jeramyRR

jeramyRR

Learn Rust. I love Elixir, but understanding what happens at a low level is more important for your career than learning a language you may never get to use for a production service. Just learning Rust teaches you things about safety you won’t get from a managed language. It also teaches you about the hard stuff that developers like the Erlang core team have to take into account when designing languages that we use on a daily basis.

AngeloChecked

AngeloChecked OP

I already have web development knowledge, but I don’t have any experience of low level details, is understanding how memory work the most valuable skill to fill up first? (and after let’s go elixir)

kokolegorille

kokolegorille

Any language can enhance your knowledge.

For web development in particular, You could learn Web Assembly with Rust, or learn CSP with Elixir… they both bring something valuable.

Elixir is probably less popular than other web frameworks, but it brings something very new, that others cannot. It has OTP.

I would say learn both, and choose Rust for frontend, or Elixir for backend.

Elixir is functional, and Rust is OO or Functional, both use similar structs.

Going through the functional path will teach You a lot.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews