DEV Community

Discussion on: Making impossible things impossible in Rust

Collapse
 
eljayadobe profile image
Eljay-Adobe

I'm impressed with the challenge of taking core language competencies of Elm, and trying to apply them to Rust.

Rust's core language competencies is very different from Elm's core language competencies.

What Rust is really good at -- a super-strong ownership model that is enforced at compile-time and eliminates a huge category of programming errors -- Elm does not need (because it only deals with immutable structures and uses garbage collection).

Collapse
 
stevensonmt profile image
stevensonmt

I have found my attempts at learning Elm have been really helpful in my ongoing attempt to learn Rust and programming in general. I don't know if that is inherent to the language design or the quality of documentation/tutorials. I picked up Rust for about three months, then focused on more front end programming for a while, which is when I tried my hand at Elm. Coming back to Rust after that many concepts just made sense in a way they had not the first time around.

Collapse
 
eljayadobe profile image
Eljay-Adobe

Other languages that have the same kind of goodness that Elm has: Haskell, F#, OCaml.

I've heard Reason also should be in that category, but I'm not familiar with that language.

F# is like "OCaml for .NET". It's a first-class language fully supported by Microsoft in the .NET space, including Mono and the formerly-known-as Xamarin.

A little further afield, but may also be of interest: Scala, Elixir, Clojure (especially if you like Lisp/Scheme).

I have not programmed much in Rust. It does appeal to my OCD.

Thread Thread
 
stevensonmt profile image
stevensonmt

I actually read through the elixir docs while bedridden a few months ago. Decided to dive back into rust instead of switching to another language.