The spread of the browser and web-based applications has given JavaScript an exclusive reach unmatched by any other language.
JavaScript is a dynamically and weakly typed language. This is a great feature when you’re just trying to write some small script to perform a specific task on a web page; but as your code base grows, it becomes more and more difficult to maintain.
People have compared their development experience in JavaScript with what they were using before, typically a server-side technology; and they’ve found that they were missing a lot of the tools that made their old life easier. So some people have started to bridge the gap.
- TypeScript - Typed superset of JavaScript by Microsoft. It offers many exciting features including optional static typing, modules, interfaces, classes, etc.
- Reason - Lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.
- Elm - A functional language that compiles to JavaScript. It helps you make websites and web apps. It has a strong emphasis on simplicity and quality tooling.
- PureScript - A strongly-typed functional programming language that compiles to JavaScript and reuse existing JavaScript code easily.
- ClosureScript - A robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool.