Modules and third-party dependencies
Deno uses ECMAScript modules and imports that are fully compatible with the browser. The path to a module is absolute, so it includes the file extension, which is also a standard in the browser world.
Deno takes the approach of being a browser for scripts quite seriously. One of the things it has in common with web browsers is that it deeply leverages URLs. They're one of the most flexible ways to share a resource and work beautifully on the web. Why not use them for module resolution? That's what browsers did.
The fact that the path for modules is absolute makes it possible not to depend on third-party entities such as npm, or complex module resolution strategies. With absolute imports, we can import code directly from GitHub, from a proprietary server, or even from a gist. The only requirement is that it has a URL.
This decision enables a completely decentralized module distribution to be used and makes module resolution inside...