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.
Clojure is a tool in the Languages category of a tech stack.
Clojure is an open source tool with 9.8K GitHub stars and 1.5K GitHub forks. Here’s a link to Clojure's open source repository on GitHub
Who uses Clojure?
238 companies reportedly use Clojure in their tech stacks, including Nubank, GO-JEK, and Accenture.
1100 developers on StackShare have stated that they use Clojure.
Java, Rollbar, ClojureScript, Airbrake, and Google Code Prettify are some of the popular tools that integrate with Clojure. Here's a list of all 22 tools that integrate with Clojure.
Pros of Clojure
It is a lisp
Persistent data structures
Code is data
Lazy data structures
Immutable by default
Simple (not easy!)
Multiple host languages
Because it's really fun to use
It creates Reusable code
Programmable programming language
Regained interest in programming
Share a lot of code with clojurescript/use on frontend
Jul 23 2019 at 10:44PM
Sep 28 2017 at 4:58AM
Jul 13 2017 at 9:32AM
Clojure Alternatives & Comparisons
What are some alternatives to Clojure?
See all alternatives
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.
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
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]
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.
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.