Ryan Dahl is fixing his Node.js design regrets with Deno
Sometimes, we make mistakes. When we do, it’s important to fix them. But what happens when your mistakes are a part of one of the most popular run-time environments in the world? Ryan Dahl, the creator of Node, intends to fix those mistakes with a brand new TypeScript runtime called Deno.
There’s probably a word for the feeling of irritation and regret when you notice a prominent typo in a project you’ve already handed in or gotten printed. But how does that compare when you develop an entire run-time environment?
For the creator of Node.js, Ryan Dahl, the cracks in his creation are bigger than ever. This has prompted the development of Deno, a run-time environment for TypeScript written in Go and V8.
How do you solve a problem like Node.js?
So, given the chance to make things right, Dahl rolled up his sleeves and got to work.
SEE ALSO: Node.js 10 is here!
Deno is a secure TypeScript run-time on V8. It’s currently written in Go, but will be redone in Rust to avoid potential garbage collector issues. This new open source project is not explicitly compatible with Node.js.
The bones of Deno might be similar to Node.js, but it’s the focus on security and a more lightweight system that make this new TypeScript runtime intriguing. In particular, Dahl highlights Node’s security issues as one of his major regrets about his last project.
Additionally, Deno does not allow arbitrary native functions to be bound into the V8. System calls are done by message passing. Since there are only two native functions – send and recv – it makes the design simpler and easier to audit.
Other goals include simplifying the module system. Now, imports provide an extension and remote URLs are fetched and cached indefinitely on the first load. They are only reloaded if specified.
Deno isn’t intended to disrupt the Node.js community, but solve the problems of 2018 rather than 2009. Right now, this project is very much still a prototype and lots of features are still under development. Developers interested in pitching in should head on over to Deno’s GitHub page for more information.