Get Advice Icon

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

Hack
Hack

79
50
+ 1
27
JavaScript
JavaScript

51.4K
38K
+ 1
7.4K
Add tool

Hack vs JavaScript: What are the differences?

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

What is JavaScript? Lightweight, interpreted, object-oriented language with first-class functions. 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.

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

"Interoperates seamlessly with php" is the top reason why over 5 developers like Hack, while over 1556 developers mention "Can be used on frontend/backend" as the leading cause for choosing JavaScript.

According to the StackShare community, JavaScript has a broader approval, being mentioned in 5080 company stacks & 6471 developers stacks; compared to Hack, which is listed in 8 company stacks and 3 developer stacks.

- No public GitHub repository available -
- No public GitHub repository available -

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.

What is 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.
Get Advice Icon

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

Why do developers choose Hack?
Why do developers choose JavaScript?

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

    Be the first to leave a con

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

    What companies use Hack?
    What companies use JavaScript?

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

    What tools integrate with Hack?
    What tools integrate with JavaScript?

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

    What are some alternatives to Hack and JavaScript?
    PHP
    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
    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.
    Java
    Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
    HTML5
    HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
    ASP.NET
    .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
    See all alternatives
    Decisions about Hack and JavaScript
    Sparker73
    Sparker73
    Frontend Developer · | 6 upvotes · 22.4K views
    PHP
    PHP
    .NET
    .NET
    JavaScript
    JavaScript
    Node.js
    Node.js

    Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

    See more
    Zach Holman
    Zach Holman
    JavaScript
    JavaScript
    Rails
    Rails
    Apollo
    Apollo
    React
    React

    Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

    But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

    But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

    Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

    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
    Nicholas Rogoff
    Nicholas Rogoff
    at Avanade UK Ltd. · | 7 upvotes · 79.7K views
    atNHS Digital (NHS.UK)NHS Digital (NHS.UK)
    Visual Studio
    Visual Studio
    Visual Studio Code
    Visual Studio Code
    Newman
    Newman
    Postman
    Postman
    Azure DevOps
    Azure DevOps
    Git
    Git
    jQuery
    jQuery
    JavaScript
    JavaScript
    Microsoft SQL Server
    Microsoft SQL Server
    C#
    C#
    .NET Core
    .NET Core

    Secure Membership Web API backed by SQL Server. This is the backing API to store additional profile and complex membership metadata outside of an Azure AD B2C provider. The front-end using the Azure AD B2C to allow 3rd party trusted identity providers to authenticate. This API provides a way to add and manage more complex permission structures than can easily be maintained in Azure AD.

    We have .Net developers and an Azure infrastructure environment using server-less functions, logic apps and SaaS where ever possible. For this service I opted to keep it as a classic WebAPI project and deployed to AppService.

    • Trusted Authentication Provider: @AzureActiveDirectoryB2C
    • Frameworks: .NET Core
    • Language: C# , Microsoft SQL Server , JavaScript
    • IDEs: Visual Studio Code , Visual Studio
    • Libraries: jQuery @EntityFramework, @AutoMapper, @FeatureToggle , @Swashbuckle
    • Database: @SqlAzure
    • Source Control: Git
    • Build and Release Pipelines: Azure DevOps
    • Test tools: Postman , Newman
    • Test framework: @nUnit, @moq
    • Infrastructure: @AzureAppService, @AzureAPIManagement
    See more
    Tom Klein
    Tom Klein
    CEO at Gentlent · | 4 upvotes · 30.4K 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.9K 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
    Nicolas Theck
    Nicolas Theck
    Student at RocketPlay · | 3 upvotes · 25.4K views
    atRocketPlayRocketPlay
    HTML5
    HTML5
    Twilio SendGrid
    Twilio SendGrid
    Node.js
    Node.js
    OVH
    OVH
    PM2
    PM2
    JSON Web Token
    JSON Web Token
    PostgreSQL
    PostgreSQL
    Sequelize
    Sequelize
    ExpressJS
    ExpressJS
    CloudFlare
    CloudFlare
    nginx
    nginx
    npm
    npm
    Ubuntu
    Ubuntu
    GitLab CI
    GitLab CI
    GitLab
    GitLab
    Webpack
    Webpack
    Vue.js
    Vue.js
    JavaScript
    JavaScript
    #Frontend
    #Backend
    #Pulsejs
    #Passport
    #Ns

    We use JavaScript in both our #Frontend and #Backend. Front-End wise, we're using tools like Vue.js , Webpack (for dev & building), pulsejs . For delivering the content, we push to GitLab & use GitLab CI (running on our own Ubuntu machine) to install (with npm) our packages, build the app trough Webpack and finally push it to our nginx server via a folder. From there, use accessing the website will get cached content thanks to CloudFlare. Back-End wise, we again use JavaScript with tools such as ExpressJS (http server), Sequelize (database, server running on PostgreSQL ) but also JSON Web Token with passport to authenticate our users. Same process used in front-end is used for back-end, we just copy files to a dist where PM2 watches for any change made to the Node.js app. Traffic doesn't go trough CloudFlare for upload process reasons but our nginx reverse proxy handles the request (which do go trough CloudFlare SSL-wise, since we're using their ns servers with our OVH domain.) Other utils we use are SendGrid for email sending & obviously HTML5 for the base Vue.js app. I hope this article will tell you more about the Tech we use here at RocketPlay :p

    See more
    Gustavo Muñoz
    Gustavo Muñoz
    Web UI Developer at Globant · | 6 upvotes · 26.7K views
    JavaScript
    JavaScript
    Visual Studio Code
    Visual Studio Code
    Android Studio
    Android Studio
    Dart
    Dart
    React Native
    React Native
    React
    React
    Flutter
    Flutter
    #Flare

    In my modest opinion, Flutter is the future of mobile development. The framework is as important to mobile as React is to the web. And seeing that React Native does not finish taking off, I am focusing all my efforts on learning Flutter and Dart. The ecosystem is amazing. The community is crazy about Flutter. There are enough resources to learn and enjoy the framework, and the tools developed to work with it are amazing. Android Studio or Visual Studio Code has incredible plugins and Dart is a pretty straight forward and easy-to-learn language, even more, if you came from JavaScript. I admit it. I'm in love with Flutter. When you are not a designer, having a framework focused on design an pretty things is a must. And counting with tools like #flare for animations makes everything easier. It is so amazing that I wish I had a big mobile project right now at work just to use Flutter.

    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
    Pedro Arnal Puente
    Pedro Arnal Puente
    CTO at La Cupula Music SL · | 8 upvotes · 13.4K 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
    Tassanai Singprom
    Tassanai Singprom
    Slack
    Slack
    BrowserStack
    BrowserStack
    Sentry
    Sentry
    Kibana
    Kibana
    Visual Studio Code
    Visual Studio Code
    npm
    npm
    GitLab
    GitLab
    GitHub
    GitHub
    Git
    Git
    Elasticsearch
    Elasticsearch
    Postman
    Postman
    Google Analytics
    Google Analytics
    MariaDB
    MariaDB
    GraphQL
    GraphQL
    Amazon RDS
    Amazon RDS
    Lumen
    Lumen
    Laravel
    Laravel
    Firebase
    Firebase
    Vue.js
    Vue.js
    Sass
    Sass
    Ubuntu
    Ubuntu
    Amazon EC2
    Amazon EC2
    Redis
    Redis
    jQuery
    jQuery
    HTML5
    HTML5
    PHP
    PHP
    JavaScript
    JavaScript

    This is my stack in Application & Data

    JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

    My Utilities Tools

    Google Analytics Postman Elasticsearch

    My Devops Tools

    Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

    My Business Tools

    Slack

    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
    PubNub
    PubNub
    asyncio
    asyncio
    JavaScript
    JavaScript
    Python
    Python

    I love Python and JavaScript . You can do the same JavaScript async operations in Python by using asyncio. This is particularly useful when you need to do socket programming in Python. With streaming sockets, data can be sent or received at any time. In case your Python program is in the middle of executing some code, other threads can handle the new socket data. Libraries like asyncio implement multiple threads, so your Python program can work in an asynchronous fashion. PubNub makes bi-directional data streaming between devices even easier.

    See more
    Ali Soueidan
    Ali Soueidan
    Creative Web Developer at Ali Soueidan · | 16 upvotes · 95.9K 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
    Helio Junior
    Helio Junior
    CSS 3
    CSS 3
    JavaScript
    JavaScript
    Python
    Python
    #DataScience
    #UXdesign
    #NodeJS
    #Electron

    Python is a excellent tool for #DataScience , but up to now is very poor in #uxdesign . To do some design I'm using JavaScript and #nodejs , #electron stack. The possibility of use CSS 3 to draw interfaces is very awesome and fast. Unfortunatelly Python don't have (yet) a good way to make a #UXdesign .

    See more
    Interest over time
    Reviews of Hack and JavaScript
    Review ofJavaScriptJavaScript

    excellent!!

    How developers use Hack and JavaScript
    Avatar of Andrew Faulkner
    Andrew Faulkner uses JavaScriptJavaScript

    Almost the entire app was written in Javascript, with JSON-based configuration and data storage. The following components were written and/or configured with Javascript:

    • Most server-side scripts, all unit tests, all build tools, etc. were driven by NodeJS.
    • ExpressJS served as the 'backend' server framework.
    • MongoDB (which stores essential JSON) was the main database.
    • MongooseJS was used as the main ORM for communicating with the database, with KnexJS used for certain edge cases.
    • MochaJS, ChaiJS, and ExpectJS were used for unit testing.
    • Frontend builds were done with Gulp and Webpack.
    • Package management was done primarily with npm - with a few exceptions that required the use of Bower (also configured with JSON).
    • "Templating" was done with Javascript dialect JSX.
    • The frontend was build primarily with ReactJS (as the View) and Redux (as the Controller / Store / frontend model).
    • Configuration was done with json files.

    The only notable exceptions were the use of SCSS (augmented by Compass) for styling, Bash for a few basic 'system chores' and CLI utilities required for development of the app (most notably git and heroku's CLI interface), and a bit of custom SQL for locations where the ORM extractions leaked (the app is DB-agnostic, but a bit of SQL was required to fill gaps in the ORMs when interfacing with Postgres).

    Avatar of OutSystems
    OutSystems uses JavaScriptJavaScript

    Read more on how to extend the OutSystems UI with Javascript here.

    OutSystems provides a very simple to use AJAX mechanism. However, developers can also use JavaScript extensively to customize how users interact with their applications, to create client side custom validations and dynamic behaviors, or even to create custom, very specific, AJAX interactions. For example, each application can have an application-wide defined JavaScript file or set of files included in resources. Page-specific JavaScript can also be defined.

    Avatar of Gorka Llona
    Gorka Llona uses JavaScriptJavaScript

    This GNU/GPL licensed Javascript library allows you to draw complex organizational charts that can't be drawn using Google's tool or equivalents. Orgchart structures are specified with JSON and can be generated on-the-fly by server-side scripts and databases. Events can be attached to clicks over the boxes. Multiple options can be defined; look at the repo for examples. This 1300-code-lines software component with contributors from 8 countries (and others for which I have to integrate their works) appears in the first page of Google Search results when searching for "Javascript Organizational Chart Library".

    Avatar of Cloudcraft
    Cloudcraft uses JavaScriptJavaScript

    JavaScript gets a bad rep, quite undeservedly so in my opinion. Today, JS is closer to functional languages than to the traditional-OO languages, and when used as such provides a great development experience. The pace of development is just picking up with transpilers like Babel making future advanced language features available to the masses today. At Cloudcraft.co, we write 100% of both the front-end (with React) and the backend (with Node.js) in Javascript, using the latest ES6 and even some ES7 features. This is not your grandfather's Javascript!

    Avatar of MOKA Analytics
    MOKA Analytics uses JavaScriptJavaScript

    The application front-end is written in JavaScript (ES6). We originally selected it over TypeScript because many library typings at the time were still flaky and the transpilation time was slow.

    We are now re-considering TypeScript because 1) the tooling has improved significantly, and 2) and the root cause of the majority of our front-end bugs are related to typing (despite having PropTypes).

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