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

CoffeeScript

3.3K
1.2K
+ 1
1K
Grain

4
13
+ 1
0
Add tool

CoffeeScript vs Grain: 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 Grain? A strongly-typed functional programming language. Grain is a strongly-typed functional programming language built for the modern web. Unlike other languages used on the web today (like TypeScript or Elm), Grain doesn’t compile into JavaScript. Grain complies all the way down to WebAssembly, and is supported by a tiny JavaScript runtime to give Grain access to web features that WebAssembly doesn’t yet support.

CoffeeScript and Grain belong to "Languages" category of the tech stack.

CoffeeScript and Grain are both open source tools. It seems that CoffeeScript with 15.2K GitHub stars and 1.99K forks on GitHub has more adoption than Grain with 1.21K GitHub stars and 21 GitHub forks.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of CoffeeScript
Pros of Grain
  • 199
    Easy to read
  • 179
    Faster to write
  • 126
    Syntactic sugar
  • 104
    Readable
  • 104
    Elegant
  • 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
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of CoffeeScript
    Cons of Grain
    • 3
      No ES6
    • 1
      Corner cases in syntax
    • 1
      Parentheses required in 0-ary function calls
    • 1
      Unclear what will be grouped to {…}
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

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

      Grain is a strongly-typed functional programming language built for the modern web. Unlike other languages used on the web today (like TypeScript or Elm), Grain doesn’t compile into JavaScript. Grain complies all the way down to WebAssembly, and is supported by a tiny JavaScript runtime to give Grain access to web features that WebAssembly doesn’t yet support.

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

      What companies use CoffeeScript?
      What companies use Grain?
        No companies found
        See which teams inside your own company are using CoffeeScript or Grain.
        Sign up for StackShare EnterpriseLearn More

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

        What tools integrate with CoffeeScript?
        What tools integrate with Grain?
          No integrations found

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

          Blog Posts

          What are some alternatives to CoffeeScript and Grain?
          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.
          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.
          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.
          See all alternatives