JavaScript Transpiled Languages

Introduction

JavaScript is now the assembly of the web. Rather than wait on language innovation in the design by committee web standards world, many choose to use more advanced languages and tooling to develop in, that then compile to JavaScript.

Transpilers, also known as source to source compilers or transcompilers, are used to translates source code to another form of source code. They are popular and numerous, not just for JavaScript, but also for C, and many other languages. In this article I cover why they are valuable for JavaScript developers, give details on the popular ones in the community, and go over the use case workflow for each.

I’ve chosen 6 of the most popular JavaScript transpiled languages used for client web application development:

  1. CoffeeScript
  2. TypeScript
  3. AtScript
  4. ClojureScript
  5. ES6 to ES5
  6. Dart

Continue reading “JavaScript Transpiled Languages”

Message Systems in Programming: Part 7 of 7 – Conclusions

Conclusions

As you can see, each messaging system has pro’s and con’s. Also, each can, and often is, used in tandem with each other. They aren’t always stand alone, and many are used in the same code base. As you better understand the basics of messaging systems, you can more easily make your Object Oriented code bases easier to encapsulate. It also makes it easier when using Design Patterns to have disparate parts of the code talk to each other in a flexible way.

Continue reading “Message Systems in Programming: Part 7 of 7 – Conclusions”

Message Systems in Programming: Part 5 of 7 – Promise and Deferred

Promise and Deferred (or Futures and Completers)

We’ve glossed over asynchronous coding up to this point. Many from languages which have reasonable event API’s (ActionScript) to extremely nice ones (C#), it may not at first look like a problem, or even appear to be an edge case. Coming from ActionScript, it took me years to get comfortable, and understand why, Promises were helpful. Also, many in those languages either create, or have facilities that help create, orchestration code to help mitigate common asynchronous coding issues.

Continue reading “Message Systems in Programming: Part 5 of 7 – Promise and Deferred”