Get Advice Icon

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

CoffeeScript
CoffeeScript

2K
985
+ 1
1K
Hack
Hack

79
50
+ 1
27
Add tool

CoffeeScript vs Hack: What are the differences?

Developers describe CoffeeScript as "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. On the other hand, Hack is detailed as "A programming language for HHVM that interoperates seamlessly with PHP". Hack provides instantaneous type checking via a local server that watches the filesystem. It typically runs in less than 200 milliseconds, making it easy to integrate into your development workflow without introducing a noticeable delay.

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

"Easy to read" is the top reason why over 197 developers like CoffeeScript, while over 5 developers mention "Interoperates seamlessly with php" as the leading cause for choosing Hack.

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.

Code School, Zaarly, and thoughtbot are some of the popular companies that use CoffeeScript, whereas Hack is used by Facebook, Slack, and Wizters. CoffeeScript has a broader approval, being mentioned in 364 company stacks & 170 developers stacks; compared to Hack, which is listed in 8 company stacks and 3 developer stacks.

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

Hack provides instantaneous type checking via a local server that watches the filesystem. It typically runs in less than 200 milliseconds, making it easy to integrate into your development workflow without introducing a noticeable delay.
Get Advice Icon

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

Why do developers choose CoffeeScript?
Why do developers choose Hack?

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

    Be the first to leave a con
    What companies use CoffeeScript?
    What companies use Hack?

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

    What tools integrate with CoffeeScript?
    What tools integrate with Hack?

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

    What are some alternatives to CoffeeScript and Hack?
    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
    Decisions about CoffeeScript and Hack
    StackShare Editors
    StackShare Editors
    HHVM (HipHop Virtual Machine)
    HHVM (HipHop Virtual Machine)
    Hack
    Hack
    PHP
    PHP

    Throughout 2016, Slack began migrating from PHP5 to Hack. They cite several well-known challenges inherent to PHP, including surprise type conversions, inconsistency around reference semantics, inconsistencies in the standard library, and the fact that “PHP tries very, very hard to keep the request running, even if it has done something deeply strange.”

    To overcome these challenges while maintaining the unique values of PHP, Slack turned to Hack, a gradual typing system for PHP. Hack runs on the HipHop Virtual Machine, or HHVM, an open source just-in-time (JIT) environment for PHP.

    See more
    Jake Stein
    Jake Stein
    CEO at Stitch · | 15 upvotes · 77.9K 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
    Eli Hooten
    Eli Hooten
    CTO at Codecov · | 11 upvotes · 56.8K views
    atCodecovCodecov
    Visual Studio Code
    Visual Studio Code
    Vue.js
    Vue.js
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    TypeScript
    TypeScript

    We chose TypeScript at Codecov when undergoing a recent rewrite of a legacy front end. Our previous front end was a mishmash of vanilla JavaScript and CoffeeScript , and was expanded upon haphazardly as the need arose. Without a unifying set of paradigms and patterns, the CoffeeScript and JavaScript setup was proving hard to maintain and expand upon by an engineering team. During a move to Vue.js , we decided to also make the move to TypeScript. Integrating TypeScript and Vue.js is fairly well understood at this point, so the setup wasn't all that difficult, and we felt that the benefits of incorporating TypeScript would outweigh the required time to set it up and get our engineering team up to speed.

    Choosing to add TypeScript has given us one more layer to rely on to help enforce code quality, good standards, and best practices within our engineering organization. One of the biggest benefits for us as an engineering team has been how well our IDEs and editors (e.g., Visual Studio Code ) integrate with and understand TypeScript . This allows developers to catch many more errors at development time instead of relying on run time. The end result is safer (from a type perspective) code and a more efficient coding experience that helps to catch and remove errors with less developer effort.

    See more
    StackShare Editors
    StackShare Editors
    Apache Thrift
    Apache Thrift
    Kotlin
    Kotlin
    Presto
    Presto
    HHVM (HipHop Virtual Machine)
    HHVM (HipHop Virtual Machine)
    gRPC
    gRPC
    Kubernetes
    Kubernetes
    Apache Spark
    Apache Spark
    Airflow
    Airflow
    Terraform
    Terraform
    Hadoop
    Hadoop
    Swift
    Swift
    Hack
    Hack
    Memcached
    Memcached
    Consul
    Consul
    Chef
    Chef
    Prometheus
    Prometheus

    Since the beginning, Cal Henderson has been the CTO of Slack. Earlier this year, he commented on a Quora question summarizing their current stack.

    Apps
    • Web: a mix of JavaScript/ES6 and React.
    • Desktop: And Electron to ship it as a desktop application.
    • Android: a mix of Java and Kotlin.
    • iOS: written in a mix of Objective C and Swift.
    Backend
    • The core application and the API written in PHP/Hack that runs on HHVM.
    • The data is stored in MySQL using Vitess.
    • Caching is done using Memcached and MCRouter.
    • The search service takes help from SolrCloud, with various Java services.
    • The messaging system uses WebSockets with many services in Java and Go.
    • Load balancing is done using HAproxy with Consul for configuration.
    • Most services talk to each other over gRPC,
    • Some Thrift and JSON-over-HTTP
    • Voice and video calling service was built in Elixir.
    Data warehouse
    • Built using open source tools including Presto, Spark, Airflow, Hadoop and Kafka.
    Etc
    See more
    Gustavo Muñoz
    Gustavo Muñoz
    Web UI Developer at Globant · | 2 upvotes · 5.4K views
    CoffeeScript
    CoffeeScript
    JavaScript
    JavaScript
    Flow (JS)
    Flow (JS)
    React
    React
    TypeScript
    TypeScript
    Angular 2
    Angular 2
    #Angular
    #ECMA

    Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

    See more
    Robert Zuber
    Robert Zuber
    CTO at CircleCI · | 4 upvotes · 8.8K views
    atCircleCICircleCI
    Slack
    Slack
    Go
    Go
    Hubot
    Hubot
    CoffeeScript
    CoffeeScript

    We have added very little to the CoffeeScript Hubot application – just enough to allow it to talk to our Hubot workers. The Hubot workers implement our operational management functionality and expose it to Hubot so we can get chat integration for free. We’ve also tailored the authentication and authorization code of Hubot to meet the needs of roles within our team.

    For larger tasks, we’ve got an internal #CLI written in Go that talks to the same #API as Hubot, giving access to the same functionality we have in Slack, with the addition of scripting, piping, and all of our favorite #Unix tools. When the Hubot worker recognizes the CLI is in use, it logs the commands to Slack to maintain visibility of operational changes.

    See more
    Flow (JS)
    Flow (JS)
    JavaScript
    JavaScript
    CoffeeScript
    CoffeeScript
    TypeScript
    TypeScript

    From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

    See more
    Interest over time
    Reviews of CoffeeScript and Hack
    No reviews found
    How developers use CoffeeScript and Hack
    Avatar of Oomba
    Oomba uses CoffeeScriptCoffeeScript

    All of our Javascript code is first written in CoffeeScript for ease of reading / writing. It is compiled to Javascript before being minified and served to the client.

    Avatar of opening.io
    opening.io uses CoffeeScriptCoffeeScript

    All front-end / back-end is driven by Coffeescript. For the main ReactJS functionality JSX is embedded with coffee in .cjsx files / handled by Browserify.

    Avatar of Jeff Flynn
    Jeff Flynn uses CoffeeScriptCoffeeScript

    We like CoffeeScript because it's more readable, we use it because we have a lot of libraries and functions already (plays nicely with Rails, too)

    Avatar of Chris Hartwig
    Chris Hartwig uses CoffeeScriptCoffeeScript

    All our code is CoffeeScript, blending seemlessly in our JS stack

    Avatar of Publitory
    Publitory uses CoffeeScriptCoffeeScript

    Javascript is a hell. We use coffeescript for its readability.

    How much does CoffeeScript cost?
    How much does Hack cost?
    Pricing unavailable
    Pricing unavailable
    News about CoffeeScript
    More news
    News about Hack
    More news