Deno 2018: Experimental, Developmental, & Limited to TypeScript Support
“Using Node is kind of like nails-on-chalkboard for me. I see the bugs that I introduced that aren’t really bugs at this point they’re just how it works but they are bugs and there were design mistakes made that just cannot be corrected now because there’s so much software that uses it.”
Dahl reportedly spent 2017 as a member of the Google Brain Residency Program working with TensorFlow and issues related to video reprocessing. In order to understand the change of perspective regarding the Node.js platform, it is recommended to compare the two videos:
Ryan Dahl: Original Node.js Presentation (2009)
- “…V8: Google
- libev: event loop library
- libeio: thread pool library
- http-parser: a ragel HTTP parser
- evcom: stream socket library on top of libev
- udns: non-blocking DNS resolver…”
Learn more about the design of the original Node.js web server.
10 Things I Regret About Node.js – Ryan Dahl – JSConf EU (2018)
- “Supports TypeScript out of the box.
- Uses a recent version of V8.
- No package.json.
- No npm.
- Not explicitly compatible with Node.
- Imports reference source code URLs only.
- File system and network access can be controlled in order to run sandboxed code.
- Single executable.”
Learn More About Deno: A secure TypeScript runtime built on V8.
Problems in Node.js: Web Security, Modules, Index.js, & the Build Process
In terms of regrets about the Node.js web server project, Dahl stated:
- regret: no use of promises for asynch/await
- regret: web security, write permissions, & file access
- regret: the Build System (GYP/GN/Python)
—> better would have been a Foreign Function Interface (FFI)
- regret: JSON & NPM central repository dependencies
- regret: node_modules too heavy & often required without the extension
- regret: Index.js complicates the module loading system & overly “cute”
Overall, Dahl admitted that he still likes Node.js, the I/O structure, & programming on the platform, but built Deno runtime environment to address these regrets with a new product.
Install Deno using Bash:
alias file_server="deno \ https://deno.land/x/net/file_server.ts --allow-net"
Upgrade to the latest published version of Deno:
Learn More About the Deno Web Server Runtime Environment for TypeScript.
Your query to the best web hosting can end by clicking on this link.