Pacharapol Withayasakpunt Pacharapol Withayasakpunt
Thu, October 1, 2020

Deno might not kill Node, but something else

Due to vast popularity of NOT Node.js, but JavaScript itself, and web browsers, I see Deno as a scripting language platform for JavaScript and WASM. It also supports JSDOM, therefore all web browser methods.

It makes JavaScript and WASM comparable to JVM bytecode; but rather for dynamic typing.

It is also comparable to Java's JBang, but I don't see JBang as getting very popular.

Of course, you can also use Python for this as well.

Surprisingly, Golang or Kotlin is just not yet ready for scripting with heavy external dependencies.

Node.js might not be good enough for scripting, because

  • /package.json and /node_modules are required. You cannot simply use global filesystem's.
  • eslint, and probably also prettier and typescript, are often recommendly installed. You don't need these in Deno.
  • Javascript packages with only JSDoc, no .d.ts, when you already use TypeScript.

In short, I will kill other scripting languages.

It probably cannot kill Node.js

It cannot replace Node mainly because it can only replace frontend libraries just as fast as other non-Node.js frontend libs. (Such as Golang's esbuild, and the associated Hugo.)

Node.js is just too popular. And Deno is not yet ready for front-end compilers.

// This is a false comparison.
'node'.split('').sort().join('')