14 ms·
My choices would be: - Elixir - Rust - Clojure - Crystal In that order.
by innocentoldguy 4y ago
My choices would be:
- Elixir
- Rust
- Clojure
- Crystal
In that order.
- cosmicradiance 4y agoAre you an expert in all those languages? To me these are the exotic languages which one gets inspired from when reading the stackoverflow survey, but there is hardly any one person I know who has mastered even half of those.
- nicoburns 4y agoOnce you’ve learnt a few languages, learning more becomes easy. Elixir, Rust and Clojure are all reasonably widely used. And I would note: somewhat similar to each other.
- innocentoldguy 4y agoI don't consider myself an expert at anything, but yes, I use these languages on a daily to weekly basis at work. We had some Go code, but replaced it with Elixir. EDIT: I'd also like to add that Elixir and Rust aren't "exotic." Crystal may be, but it's basically just compiled/typed Ruby. I've been using Elixir professionally for seven years across multiple companies: 1. Divvy. 2. GoSkip. 3. Podium. 4. Actiphy.
- gabrielgio 4y agoIf you allow me, my take on the list: * Clojure is a really nice and simple language, but the tooling and documentation comes nowhere near go, also it uses JVM, which would already disquilify as go replacement. * Rust is nice (or even better in a lot points) but a lot harder. Concurrency in go is just lot easier. * Elixir, I agree, although I don't have much experience of the language. * Crystal, not clue about this lang xD.
- pjmlp 4y agoThere are AOT options for JVM, just need to learn how to use them.
- nine_k 4y agoElixir is wonderful, but its deployment story is much more complicated than Go's or Rust's.
- innocentoldguy 4y agoI don't think Elixir's deployment story is difficult. It doesn't result in a single executable, like Go compiles to, but it's easy to deploy Elixir apps and the compiled package contains everything necessary to run (meaning you don't have to install Elixir, Erlang, etc. manually in production). The biggest benefits of Elixir over Go for me are: 1. Pattern matching. 2. Easier concurrency (with less resource usage). 3. Piping. 4. Easy to hire and train Ruby or Crystal developers. 5. Phoenix is an outstanding web framework for Elixir. 6. Excellent tooling. 7. Supervision trees. 8. Actor model. 9. Elixir's concurrency is done in private memory, whereas Go uses public memory. EDIT: Fixed formatting.