A short introduction to Deno.
A quick introduction.
In 2018, Ryan Dahl gave a talk titled “10 things I regret about Node.JS” — and at the end he introduced a new runtime called Deno. Before we get into Deno, let’s talk about why Ryan might have wanted a new runtime in the first place.
What Node lacked
In the talk, Ryan went over a few regrets he had with the Node ecosystem, and I love how he addressed all of it because with time, technologies change — And in the case of Node, the ecosystem around it had changed drastically. Deno solves a few important issues that Node has, and this is how.
Node has access to essential System Calls
Node Programs can write to Filesystems and related networks because in the original Node, which was built in C++ by building a wrapper (of sorts) around V8 engine, had skipped some important security functions. This, I imagine is because V8 is a secure, solid sandbox, but it is to be used inside of Chrome (or whatever other browsers implement it), but Node can be used as a CLI tool. Node files could have access to a lot of essential system calls and they could, and have resulted in malicious behavior.