Skip to content

Instantly share code, notes, and snippets.

@aminroosta
Created May 4, 2021 08:18
Show Gist options
  • Save aminroosta/73df26e80e35007bf1bf79d8be600db8 to your computer and use it in GitHub Desktop.
Save aminroosta/73df26e80e35007bf1bf79d8be600db8 to your computer and use it in GitHub Desktop.

Overview

This document is a proposal for the typescript language and the Deno runtime as an official programming language in Deriv.


Background

TypeScript is an open-source language which builds on JavaScript, by adding static type definitions.

Deno is a modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. Supports TypeScript out of the box. Ships only a single executable file.


Advantages

  • Typescript has a superb type system.
  • It's a scripting language therefore it's easier to write and debug.
  • It's one of the fastests scripting languages.
  • Has a huge ecosystem, therfore easier to find well maintained libraries.
  • The entire company could run on a single language.
  • Deno runtime has a growing community, and a great standard library (inspired by Golang).
  • Deno ships with a built in code linter for TypeScript.
  • Deno has a built-in test runner that can be used for TypeScript.
  • deno compile compiles an script into a self-contained executable.
  • deno doc prints the JSDoc documentation for each of the module's exported members.
  • Deno can be embedded in any rust application.

Disadvantages

  • The typesystem could be bypassed (unknown, any) if you really wanted to.
  • Occasionally some APIs get depricated on newer Deno versions.
  • It's a scripting language.

Author:

@amin May 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment