Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Clojure
Clojure

716
538
+ 1
887
ES6
ES6

12.6K
9.7K
+ 1
145
Add tool

Clojure vs ES6: What are the differences?

Developers describe Clojure as "A dynamic programming language that targets the Java Virtual Machine". 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. On the other hand, ES6 is detailed as "The next version of JavaScript". Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.

Clojure and ES6 belong to "Languages" category of the tech stack.

"It is a lisp" is the top reason why over 96 developers like Clojure, while over 98 developers mention "ES6 code is shorter than traditional JS" as the leading cause for choosing ES6.

Clojure is an open source tool with 7.85K GitHub stars and 1.25K GitHub forks. Here's a link to Clojure's open source repository on GitHub.

Slack, StackShare, and ebay are some of the popular companies that use ES6, whereas Clojure is used by CircleCI, Groupon, and Soundcloud. ES6 has a broader approval, being mentioned in 1461 company stacks & 1725 developers stacks; compared to Clojure, which is listed in 95 company stacks and 80 developer stacks.

- No public GitHub repository available -

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 ES6?

Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Clojure?
Why do developers choose ES6?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
    What companies use Clojure?
    What companies use ES6?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Clojure?
    What tools integrate with ES6?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Clojure and ES6?
    Scala
    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.
    Haskell
    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]
    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.
    Julia
    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.
    See all alternatives
    Decisions about Clojure and ES6
    Nick Parsons
    Nick Parsons
    Director of Developer Marketing at Stream · | 33 upvotes · 216.7K views
    atStreamStream
    Go
    Go
    Stream
    Stream
    Python
    Python
    Yarn
    Yarn
    Babel
    Babel
    Node.js
    Node.js
    ES6
    ES6
    JavaScript
    JavaScript
    #Languages
    #FrameworksFullStack

    Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

    We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

    We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

    Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

    #FrameworksFullStack #Languages

    See more
    Jake Stein
    Jake Stein
    CEO at Stitch · | 15 upvotes · 74.3K views
    atStitchStitch
    ES6
    ES6
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    React
    React
    AngularJS
    AngularJS

    Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

    See more
    Jake Stein
    Jake Stein
    CEO at Stitch · | 13 upvotes · 94.7K views
    atStitchStitch
    Go
    Go
    Clojure
    Clojure
    JavaScript
    JavaScript
    Python
    Python
    Kubernetes
    Kubernetes
    AWS OpsWorks
    AWS OpsWorks
    Amazon EC2
    Amazon EC2
    Amazon Redshift
    Amazon Redshift
    Amazon S3
    Amazon S3
    Amazon RDS
    Amazon RDS

    Stitch is run entirely on AWS. All of our transactional databases are run with Amazon RDS, and we rely on Amazon S3 for data persistence in various stages of our pipeline. Our product integrates with Amazon Redshift as a data destination, and we also use Redshift as an internal data warehouse (powered by Stitch, of course).

    The majority of our services run on stateless Amazon EC2 instances that are managed by AWS OpsWorks. We recently introduced Kubernetes into our infrastructure to run the scheduled jobs that execute Singer code to extract data from various sources. Although we tend to be wary of shiny new toys, Kubernetes has proven to be a good fit for this problem, and its stability, strong community and helpful tooling have made it easy for us to incorporate into our operations.

    While we continue to be happy with Clojure for our internal services, we felt that its relatively narrow adoption could impede Singer's growth. We chose Python both because it is well suited to the task, and it seems to have reached critical mass among data engineers. All that being said, the Singer spec is language agnostic, and integrations and libraries have been developed in JavaScript, Go, and Clojure.

    See more
    Antonio Kobashikawa
    Antonio Kobashikawa
    Web developer | Blogger | Freelancer at Rulo Kobashikawa · | 4 upvotes · 45.9K views
    Koa
    Koa
    ES6
    ES6
    JavaScript
    JavaScript
    Ionic
    Ionic
    Vue.js
    Vue.js
    MongoDB
    MongoDB
    ExpressJS
    ExpressJS
    Node.js
    Node.js

    We are using Node.js and ExpressJS to build a REST services that is middleware of a legacy system. MongoDB as database. Vue.js helps us to make rapid UI to test use cases. Frontend is build for mobile with Ionic . We like using JavaScript and ES6 .

    I think next step could be to use Koa but I am not sure.

    See more
    Johnny Bell
    Johnny Bell
    Senior Software Engineer at StackShare · | 9 upvotes · 116K views
    atStackShareStackShare
    Apollo
    Apollo
    GraphQL
    GraphQL
    MobX
    MobX
    JavaScript
    JavaScript
    ES6
    ES6
    React
    React
    jQuery
    jQuery
    #Context
    #Hooks🎣

    We are always building new features and replacing old code at StackShare. Lately we have been building out new features for the frontend, and removing a lot of old jQuery code (sorry jQuery but it's time to go).

    We've mainly been using React, ES6 and JavaScript on the frontend to build out the components, and we've been slowly removing some legacy MobX and using GraphQL and Apollo for our state management, if we need to control state further than GraphQL and Apollo allows us to we use just plain React with #context , or the new fancy React #hooks🎣 .

    As we've moved towards the above tech, its really made smashing out new features and updating legacy code super fast, and really fun!

    See more
    Hampton Catlin
    Hampton Catlin
    VP of Engineering at Rent The Runway · | 9 upvotes · 12K views
    atRent the RunwayRent the Runway
    React
    React
    TypeScript
    TypeScript
    ES6
    ES6
    JavaScript
    JavaScript

    We use JavaScript because it's the standard for web development, especially with browser execution. And, over the years, some smart work by the W3C has taken Javascript from the most-hated-language to the okay-I-can-make-that-good. No small feat!

    Obviously, using ES6 and TypeScript is what makes it decent in browser contexts. Throw in a bit of React and now we're cooking with gas!

    See more
    C#
    C#
    Java
    Java
    JavaScript
    JavaScript
    ClojureScript
    ClojureScript
    Clojure
    Clojure

    I adopted Clojure and ClojureScript because:

    • it's 1 language, multiple platforms.
    • Simple syntax.
    • Designed to avoid unwanted side effects and bugs.
    • Immutable data-structures.
    • Compact code, very expressive.
    • Source code is data.
    • It has super-flexible macro.
    • Has metadata.
    • Interoperability with JavaScript, Java and C#.
    See more
    ES6
    ES6
    JavaScript
    JavaScript
    Socket.IO
    Socket.IO
    Redis
    Redis
    MongoDB
    MongoDB
    HTML5
    HTML5
    FeathersJS
    FeathersJS
    Redux
    Redux
    React
    React

    I have always been interested in building a real-time multiplayer game engine that could be massively scalable, and recently I decided to start working on a MMO version of the classic "snake" game. I wanted the entire #Stack to be based on ES6 JavaScript so for the #Backend I chose to use FeathersJS with MongoDB for game/user data storage, Redis for distributed mutex and pub/sub, and Socket.IO for real-time communication. For the #Frontend I used React with Redux.js, the FeathersJS client as well as HTML5 canvas to render the view.

    See more
    Tom Klein
    Tom Klein
    CEO at Gentlent · | 4 upvotes · 29.2K views
    atGentlentGentlent
    Python
    Python
    Electron
    Electron
    Socket.IO
    Socket.IO
    Google Compute Engine
    Google Compute Engine
    TypeScript
    TypeScript
    ES6
    ES6
    Ubuntu
    Ubuntu
    PostgreSQL
    PostgreSQL
    React
    React
    nginx
    nginx
    Sass
    Sass
    HTML5
    HTML5
    PHP
    PHP
    Node.js
    Node.js
    JavaScript
    JavaScript

    Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

    See more
    Osamah Aldoaiss
    Osamah Aldoaiss
    UI Engineer | Maker at Triad Apparel Inc. · | 6 upvotes · 12.2K views
    atTriad Apparel Inc.Triad Apparel Inc.
    JavaScript
    JavaScript
    ES6
    ES6
    Node.js
    Node.js
    GraphQL
    GraphQL
    React
    React
    Lighthouse
    Lighthouse
    Gatsby
    Gatsby

    Gatsby has been at the core of our Shop system since day one. It gives its User the power to create fast and performant sites out-of-the-box. You barely have to do anything to get great Lighthouse results. And it all runs on ES6 JavaScript.

    The power of SSR React and then hydrating it client-side to add interactivity and App-like feel is what makes Gatsby powerful.

    It comes with a ton of plugins, that are mind-boggling: Image Processing, GraphQL, Node.js, and so much more. This is thanks to a great ecosystem, a great user-base and the revolutionary Community work, which led to the Gatsby repo to be one of the most committed to, out there.

    See more
    Pedro Arnal Puente
    Pedro Arnal Puente
    CTO at La Cupula Music SL · | 8 upvotes · 12.8K views
    atLa Cupula Music SLLa Cupula Music SL
    JavaScript
    JavaScript
    ES6
    ES6
    Babel
    Babel
    ESLint
    ESLint
    Webpack
    Webpack
    Vue.js
    Vue.js
    jQuery UI
    jQuery UI
    jQuery
    jQuery

    We are phasing out jQuery and jQuery UI in favour or Vue.js and @Vue-cli so we can support building a modern, well-architectured frontend.

    The JavaScript build pipeline is supported by Webpack , and includes tools like ESLint and Babel , so we can properly support the latest ES/JS versions, with ES6 as the minimum baseline.

    See more
    Ali Soueidan
    Ali Soueidan
    Creative Web Developer at Ali Soueidan · | 16 upvotes · 85.3K views
    npm
    npm
    Babel
    Babel
    PHP
    PHP
    Adobe Illustrator
    Adobe Illustrator
    Asana
    Asana
    ES6
    ES6
    GitHub
    GitHub
    Git
    Git
    JSON
    JSON
    Sass
    Sass
    Pug
    Pug
    JavaScript
    JavaScript
    vuex
    vuex
    Vue.js
    Vue.js

    Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

    For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

    To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

    DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

    Side note: I used npm for package management. 🎉

    *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

    See more
    Interest over time
    Reviews of Clojure and ES6
    No reviews found
    How developers use Clojure and ES6
    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 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 Kurzor, s.r.o.
    Kurzor, s.r.o. uses ES6ES6

    We started using CoffeeScript years ago, so the switch to ES6 is quite natural in our team. ES6 of course advances the JS standard to a level of an advanced language. We are using it today simply because it: 1. helps to keep the code shorter, 2. integrates easily with JSX, 3. helps to deal with immutable using const.

    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 Jake Taylor
    Jake Taylor uses ES6ES6

    ES6 is a new-ish, modern form of JavaScript that adds in extra functionality that make code cleaner and easier to work with, such as arrow functions, const and let declarations, array helper methods, object/array destructuring etc.

    Avatar of Ryan VanBelkum
    Ryan VanBelkum uses ES6ES6

    ES6 (ES2015) is a huge improvement to the javascript spec. These additions are heavily leveraged in React development, such as spread operators, fat arrow functions, and classes.

    Avatar of Ataccama
    Ataccama uses ES6ES6

    ES6 brings some sweet features to the language. Our favourites are lambda-expressions, block-scoped consts and lets and Promises.

    Avatar of Mick Dekkers
    Mick Dekkers uses ES6ES6

    ES6/ES2015+ makes JavaScript a pleasure to write. Arrow functions, template literals and ES modules especially. RIP CoffeeScript.

    How much does Clojure cost?
    How much does ES6 cost?
    Pricing unavailable
    Pricing unavailable
    News about ES6
    More news