Elixir vs Go vs Rust

Elixir
Elixir

1.3K
463
893
Go
Go

4.5K
0
2.5K
Rust
Rust

586
277
575

What is Elixir?

Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.

What is Go?

Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

What is Rust?

Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Elixir?
Why do developers choose Go?
Why do developers choose Rust?
What are the cons of using Elixir?
What are the cons of using Go?
What are the cons of using Rust?
What companies use Elixir?
What companies use Go?
What companies use Rust?
What are some alternatives to Elixir, Go, and Rust?
Erlang
Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.
Clojure
Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
Ruby
Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.
Haskell
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
See all alternatives
What tools integrate with Elixir?
What tools integrate with Go?
What tools integrate with Rust?
    No integrations found
      No integrations found
      Decisions about Elixir, Go, and Rust
      marcoalmeida
      marcoalmeida
      C
      Go
      Rust
      Python

      One important decision for delivering a platform independent solution with low memory footprint and minimal dependencies was the choice of the programming language. We considered a few from Python (there was already a reasonably large Python code base at Thumbtack), to Go (we were taking our first steps with it), and even Rust (too immature at the time).

      We ended up writing it in C. It was easy to meet all requirements with only one external dependency for implementing the web server, clearly no challenges running it on any of the Linux distributions we were maintaining, and arguably the implementation with the smallest memory footprint given the choices above.

      See more
      Git
      Docker
      NATS
      JavaScript
      TypeScript
      PostgreSQL
      Python
      Go

      Go is a high performance language with simple syntax / semantics. Although it is not as expressive as some other languages, it's still a great language for backend development.

      Python is expressive and battery-included, and pre-installed in most linux distros, making it a great language for scripting.

      PostgreSQL: Rock-solid RDBMS with NoSQL support.

      TypeScript saves you from all nonsense semantics of JavaScript , LOL.

      NATS: fast message queue and easy to deploy / maintain.

      Docker makes deployment painless.

      Git essential tool for collaboration and source management.

      See more
      Vishwa Bhat
      Vishwa Bhat
      Fullstack Developer at Sequoia · | 9 upvotes · 2.4K views
      atSequoia Consulting GroupSequoia Consulting Group
      Java
      Go
      Node.js

      Our new backend micro services are primarily written in Node.js and Go and legacy systems are written in Java. For our new stack decision, we aimed to achieve greater developer productivity, low IO latency and good community so we had couple of technologies in hand to choose but finally we concluded to go for Node.js for API layer and Go for CPU/IO intensive tasks. Currently the inter-services communication is happening via REST but soon to be moved to RPC-based communication.

      See more
      Interest over time
      Reviews of Elixir, Go, and Rust
      Review ofElixirElixir

      i've give a try to Ruby, Crystal, Python and GO, and yeah, for web development i use Elixir-Phoenix, because idk why just amazing, my phoenix app is very stable (comparing to api that written in other language), Ruby is slow, Crystal has unstable API, GO, umm yeah, you need too complicated (i use golang for microservice)

      Avatar of tschellenbach
      CEO at Stream
      Review ofGoGo

      Go has been a joy to work with. Performance is often 30x of what we used to see with Python. It's a performant and productive programming language: https://getstream.io/blog/switched-python-go/

      How developers use Elixir, Go, and Rust
      Avatar of Karma
      Karma uses GoGo

      The first time I actually started using Go was for software on our devices. So on our hotspots we have some custom software running in the firmware. For the first device, that was actually completely built by our manufacturer. But for the second generation most of the parts are built by us in-house and we needed a way to quickly develop software for the device. But we don't have any C programmers in-house, so we were actually looking for something that basically sits in between the friendliness of Ruby, but the performance and the ability to be deployed on an embedded system which you get with C. That's basically what led us to Go and it's been awesome for that. It works so well and so great. Since it works so great, it pushed us into looking into whether we should start using this for some backend services as well.

      Avatar of Flutter Health Inc.
      Flutter Health Inc. uses GoGo

      The following basic API endpoints are implemented on the server written in Go:

      • Authorization (Sign Up, Sign In)
      • Update user profile
      • Community: add post, like post, add comment, delete post, add reply to comment
      • Self-diagnosis: send data from the app to the server
      • Journal: send user data from the app to the server
      • Add groups of community
      • Report post, report comment, report reply
      • Block user
      Avatar of Zinc
      Zinc uses GoGo

      We wrote our own image processing, resizing, and snapshotting service in Go to allow our clients to send photos and GIFs to each other. Files are stored in S3, resized on the fly using OpenCV, and then cached in GroupCache before being served to clients.

      Go allows it all to be quite fast and efficient, and entirely non-blocking on uploads!

      Avatar of Diggernaut LLC
      Diggernaut LLC uses GoGo

      Our main web scraping engine is built usign Golang because of the way how efficiently and fast this language is. Also out compilation facility let people who dont know Golang build fast as flash scrapers to run ourside of our platform without any knowledge in programming in Golang.

      Avatar of Refractal
      Refractal uses GoGo

      For some of our more taxing parts of our applications, something able to handle high I/O load quickly and with fast processing is needed. Go has completely filled that gap, allowing us to break down walls that would've been completely impossible with other languages.

      Avatar of Marc3842h
      Marc3842h uses RustRust

      Rust is used in Shirogane (https://github.com/Marc3842h/shirogane).

      Shirogane is a osu! beatmap mirror built for shiro. We use Rust because of memory safe but still low level and high performance.

      Avatar of Provide Booking
      Provide Booking uses ElixirElixir

      Huge boon to productivity when coupled with Phoenix. Moreover, it has made background jobs and all the unseen aspects of a business easily abstracted.

      Avatar of Walter
      Walter uses ElixirElixir

      Knowledge collection, collation, and enrichment. Business logic.

      Avatar of Ruben Timmerman
      Ruben Timmerman uses ElixirElixir

      For some internal tools like our email deliverability monitor

      Avatar of Ryan Jennings
      Ryan Jennings uses ElixirElixir

      language used by phoenix framework

      Avatar of olenderhub
      olenderhub uses ElixirElixir

      Elixir and Phoenix are awesome.

      How much does Elixir cost?
      How much does Go cost?
      How much does Rust cost?
      Pricing unavailable
      Pricing unavailable
      Pricing unavailable