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

CoffeeScript

2.4K
1.1K
+ 1
1K
ES6

49.9K
39.7K
+ 1
161
Add tool

CoffeeScript vs ES6: What are the differences?

What is CoffeeScript? Unfancy JavaScript. CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.

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

CoffeeScript and ES6 can be primarily classified as "Languages" tools.

"Easy to read" is the primary reason why developers consider CoffeeScript over the competitors, whereas "ES6 code is shorter than traditional JS" was stated as the key factor in picking ES6.

CoffeeScript is an open source tool with 15.2K GitHub stars and 1.99K GitHub forks. Here's a link to CoffeeScript's open source repository on GitHub.

Slack, StackShare, and ebay are some of the popular companies that use ES6, whereas CoffeeScript is used by Typeform, thoughtbot, and Trello. ES6 has a broader approval, being mentioned in 1461 company stacks & 1725 developers stacks; compared to CoffeeScript, which is listed in 364 company stacks and 170 developer stacks.

Decisions about CoffeeScript and ES6
Amir Mousavi

This post is a bit of an obvious one, as we have a web application, we obviously need to have HTML and CSS in our stack. Though specifically though, we can talk a bit about backward compatibility and the specific approaches we want to enforce in our codebase.

HTML : Not much explanation here, you have to interact with HTML for a web app. We will stick to the latest standard: HTML 5.

CSS: Again if we want to style any of our components within he web, we have to use to style it. Though we will be taking advantage of JSS in our code base and try to minimize the # of CSS stylesheets and include all our styling within the components themselves. This leaves the codebase much cleaner and makes it easier to find styles!

Babel: We understand that not every browser is able to support the cool new features of the latest node/JS features (such as redue, filter, etc) seen in ES6. We will make sure to have the correct Babel configuration o make our application backward compatible.

Material UI (MUI): We need to make our user interface as intuitive and pretty as possible within his MVP, and the UI framework used by Google will provide us with exactly that. MUI provides pretty much all the UI components you would need and allows heavy customization as well. Its vast # of demos will allow us to add components quickly and not get too hung up on making UI components.

We will be using the latest version of create-react-app which bundles most of the above along many necessary frameworks (e.g. Jest for testing) to get started quickly.

See more

For our front-end, React is chosen because it is easy to develop with due to its reusable components and state functions, in addition to a lot of community support. Because React is popular, it would be easy to hire for it here at our company MusiCore. Our team also has experience with React already. React can be written with ES6 and ES6 has a lot of popularity and versatility when it comes to creating classes and efficient functions. Node.js will be used as a runtime environment to compile the code. Node.js also has many different types of open-source packages that can help automate some of the tasks we want to do for the application. CSS 3 will be used to style components and is the standard for that.

See more
Aleksandr Filatov
Contract Software Engineer - Microsoft · | 3 upvotes · 65.3K views
Shared a protip
on
JavaScriptJavaScriptES6ES6
at
()
How to make your JS code faster just adding some parenthesis?

Optimize-js I will not describe this tool a lot here, because it's already good done by author on github

I just want to mention that this tool wrap up all immediately-invoked functions or likely-to-be-invoked functions in parentheses what is do a great optimization a JavaScript file for faster initial execution and parsing (based on my experience).

The performance of application where I've introduced optimize-js improved on 20% in a common (tested in Chrome and IE11).

Why it happens?

Is it maintaining now? - Unfortunately, no (but feel free to send PR)

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of CoffeeScript
Pros of ES6
  • 198
    Easy to read
  • 179
    Faster to write
  • 126
    Syntactic sugar
  • 104
    Elegant
  • 104
    Readable
  • 73
    Pretty
  • 53
    Javascript the good parts
  • 48
    Open source
  • 44
    Classes
  • 35
    "it's just javascript"
  • 16
    Compact code
  • 15
    Easy
  • 13
    Simple
  • 13
    Not Javascript
  • 2
    Does the same with less code
  • 1
    I'm jobs I'm software engineer
  • 107
    ES6 code is shorter than traditional JS
  • 50
    Module System Standardized
  • 2
    Destructuring Assignment
  • 2
    Extremly compact

Sign up to add or upvote prosMake informed product decisions

Cons of CoffeeScript
Cons of ES6
  • 2
    No ES6
  • 1
    Corner cases in syntax
  • 1
    Parentheses required in 0-ary function calls
  • 1
    Unclear what will be grouped to {…}
  • 1
    Suffers from baggage

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is CoffeeScript?

It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.

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.

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

What companies use CoffeeScript?
What companies use ES6?
See which teams inside your own company are using CoffeeScript or ES6.
Sign up for Private StackShareLearn More

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

What tools integrate with CoffeeScript?
What tools integrate with ES6?

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

Blog Posts

What are some alternatives to CoffeeScript and ES6?
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Babel
Babel will turn your ES6+ code into ES5 friendly code, so you can start using it right now without waiting for browser support.
jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
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