Clojure vs Elixir vs Go





What is 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.

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.

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

Why do developers choose Clojure?
Why do developers choose Elixir?
Why do developers choose Go?
What are the cons of using Clojure?
What are the cons of using Elixir?
What are the cons of using Go?
What companies use Clojure?
What companies use Elixir?
What companies use Go?
What are some alternatives to Clojure, Elixir, and Go?
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Common Lisp
Lisp was originally created as a practical mathematical notation for computer programs, influenced by the notation of Alonzo Church's lambda calculus. It quickly became the favored programming language for artificial intelligence (AI) research. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, and the self-hosting compiler. [source: wikipedia]
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
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.
See all alternatives
What tools integrate with Clojure?
What tools integrate with Elixir?
What tools integrate with Go?
    No integrations found
    Decisions about Clojure, Elixir, and Go
    No stack decisions found
    Interest over time
    Reviews of Clojure, Elixir, and Go
    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:

    How developers use Clojure, Elixir, and Go
    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 Brandon Adams
    Brandon Adams uses ClojureClojure

    Cloure is a high level language that provides access to both the JVM (for server-side development) and javascript (for client-side development) with largely the same language. This is important to limit context switching and enable code-reuse during fast product cycles. Clojure is ideal for rapid prototyping and has a strong focus on stability, correctness, and concurrency. Tools like Schema and Spec enable well-structured development and high code confidence.

    Avatar of Brian Fults
    Brian Fults uses ClojureClojure

    To complement Java. The REPL lets me interactively exercise Java code. I can write performant and safe libraries in Java, and then use them in Clojure. I also find the data-centric aspect of Clojure (excellent build-in structures, literal syntax for easily creating those structures, functions that act well on abstractions of those structures) good for data processing.

    This fits a sweet spot between Ruby and Java.

    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 BandSquare
    BandSquare uses ClojureClojure

    We use Clojure mostly for its "Minority Report"-like interactive development in situations that require 'semi-automatic programming' (data inspection, admin tasks, API exploration, scrapers, etc.). We have also used Clojure successfully to build some components of our stack very quickly and reliably, in the backend and the frontend.

    Avatar of papaver
    papaver uses ClojureClojure

    just started learning clojure, maybe around two weeks or so. i'm addicted. this is what i want to be working with and learning for the foreseeable future. the elegance of the language is refreshing. the community is really amazing. i've finally found a language that fits my passion for programming.

    Avatar of CloudRepo
    CloudRepo uses ClojureClojure

    Clojure simplifies and reduces the coding efforts involved in creating CloudRepo. The fact that it runs in the JVM gives us access to all the libraries that we could ever need. Our code base is much smaller and easier to reason about than it would have been had we gone with pure Java.

    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 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 Clojure cost?
    How much does Elixir cost?
    How much does Go cost?
    Pricing unavailable
    Pricing unavailable
    Pricing unavailable