Node has its issues that can be fixed with updates. But modules loaded from url? Lol thats what i need prod breaking cos a website went down. Package.json is actually a nice solution. This guy goes on about how complex all these things are. I have worked in node for about 6 years and love it.
Kent Estes Im aware of that. What I hear is bitterness. He created something and doesnt like what it became, but what he created has become a first class citizen. Node is amazing. He critises NPM but its a brilliant solution backed by serious $$. Deno will be some side language that no one will use.
@@appsaurus Even more hilarious is that he says - we don't like npm, because centralised package managers are bad, that's why we built it in rust, because rust has a centralised package manager (crates) and that is really nice. Don't know about you, but it just doesn't compute, I believe deno is done.
I'm curious whether Deno has a story for parallelism, or does the single-processor event loop execution model still hold? (Presumably because this is baked deeply into JavaScript)
They are creating a future Family Guy parody episode of self-entitled, soft, and oh so trendy bucking the norm simps. This is embarrassing for western civilization...can never imagine myself in any type of business conference, meeting or casual lecture laying on the floor or among those who felt so inclined.
@@josemaenzo Lockfiles. Deno support lockfiles with `--lock` and `--lock-write` flags. Also Deno never refreshes your local cached code (every remote script is cached after first network pull) unless you explicitly specify `--reload`
@@kevinqian6867 What happen if your new workmate clone the repository on his machine and the external module is different from the one that you have cached in yours? I still have security concerns. I like the idea of Deno, but not sure if the non-immutable external modules is a good idea.
@@josemaenzo The idea is to commit your dependencies with your code (you can pin you remote file cache to a certain directory using DENO_DIR env variable). Any centralized hosting like NPM is not reliable: it might go down (while not often, it is not impossible to have outages or sudden revocation of a package (happened with left-pad before)) node_modules has gained some bad reputation of having huge dependency size and deep dependency tree. This is partially due to limited standard library functionality that requires a bunch of third-party utility code (with possible duplicate functionality). Deno hopes to mitigate this by having a good enough standard module (similar to the ones of Go or Python) at deno.land/std
so... they don't like npm because it is centralized and don't like the fact some functionality is node team dependant, but totally fine adding typescript and code bundler that will be deno team dependant, security centered but has url modules... im confused... why make deno into a framework... it should be a runtime not a framework.
Well, a run time environment can have a set of libraries built in, just like node, he mentioned in his presentation that you are not obligated to use any of those and it can be composable, a framework it's fundamentally different they, have a workflow you have to follow and plug in your code, it's called Inversion of control, I don't see that in Deno yet. I don't think the imports are determined at run time that would make no sense, I think what they did was to reference the import via an URL then it will be resolved at build time, although I still don't like putting an URL in an import
it's centralized in that you have to fetch them all from npm. realistically, you find that many larger node projects include a shit ton of tools. i've seen projects that use webpack, gulp, grunt, and rollup all in one codebase.
so: - One of the reasons Deno has been created because NPM is a centralized system and you don't like it, ok. - You prefer to use Rust over C++ because Rust ecosystem is more similar to NPM, reuse code is easy. oh the irony
We hate NPM not just because it's centralised but because it's owned by a private company and at the end of the a company's only goal is to make money and not care about it's users. Rust's crates.io is just a package registry and not owned by any such company
@@akshatagarwal1631 Do you hate GitHub and TypeScript as well because they are owned by a private company? Ironic is that Github, TypeScrip and NPM are all owned by Microsoft and that doesn't stop deno devs using github and typescript, but npm is evil?
Yeah had exactly the same thought... Ryan Dahl was inspired mostly by Golang when he created deno and in fact early deno prototype was written in Go as opposed to Rust and that time golang didn't have a package manager so Ryan didn't think it is useful. But then golang community found out the hard way that they need a package manager and now golang has one. Also it proved to be really annoying to manually maintain go packages so they switched to rust which has crates lol. I just don't get how can you say package managers are bad and then praise package managers. I think he is just a little bitter that he quit the node project way to early and it because fist class citizen on the web without him.
@@akshatagarwal1631 It is not really, it is not a package manager it has an ability to download and install packages, but it can't manage it. I can't do deno install, so it automatically goes and fetches the latest versions of packages I need, I have to find out if one of the modules have been updated, then find the url manually and update (by manually typing the url) the url lol. That is just silly.
Node has its issues that can be fixed with updates. But modules loaded from url? Lol thats what i need prod breaking cos a website went down.
Package.json is actually a nice solution.
This guy goes on about how complex all these things are. I have worked in node for about 6 years and love it.
It was created by the creator of node.js, Dahl, so give it a chance.
Kent Estes Im aware of that. What I hear is bitterness. He created something and doesnt like what it became, but what he created has become a first class citizen. Node is amazing. He critises NPM but its a brilliant solution backed by serious $$.
Deno will be some side language that no one will use.
@@appsaurus An interesting perspective. I guess we'll see !
@@appsaurus Even more hilarious is that he says - we don't like npm, because centralised package managers are bad, that's why we built it in rust, because rust has a centralised package manager (crates) and that is really nice. Don't know about you, but it just doesn't compute, I believe deno is done.
Great talk! Thank you.
tonight on "They are using the wheel wrong, let's invent a new one!"
All I need is being able to import Internet scripts that can be changed or removed at any time
yeah..... who needs security and stability? power to the ppl!!!
They are cached by Deno. And they are re-fetched only if you run deno with --reload flag
I'm curious whether Deno has a story for parallelism, or does the single-processor event loop execution model still hold? (Presumably because this is baked deeply into JavaScript)
what are those people reclined doing onstage?
JS is a laid back language ;-)
Lol i thought the same thing
They are creating a future Family Guy parody episode of self-entitled, soft, and oh so trendy bucking the norm simps. This is embarrassing for western civilization...can never imagine myself in any type of business conference, meeting or casual lecture laying on the floor or among those who felt so inclined.
great talk - finally Deno folks not afraid to say it as it is :) - the question is only "when" - not "will it replace Node" :)
Srdjan Strbanovic good luck with that
How deno handle versioning for external modules?
New version, new URL path.
@@gabeidx What if someone changes the code of the original url?
@@josemaenzo Lockfiles. Deno support lockfiles with `--lock` and `--lock-write` flags. Also Deno never refreshes your local cached code (every remote script is cached after first network pull) unless you explicitly specify `--reload`
@@kevinqian6867 What happen if your new workmate clone the repository on his machine and the external module is different from the one that you have cached in yours?
I still have security concerns. I like the idea of Deno, but not sure if the non-immutable external modules is a good idea.
@@josemaenzo The idea is to commit your dependencies with your code (you can pin you remote file cache to a certain directory using DENO_DIR env variable). Any centralized hosting like NPM is not reliable: it might go down (while not often, it is not impossible to have outages or sudden revocation of a package (happened with left-pad before))
node_modules has gained some bad reputation of having huge dependency size and deep dependency tree. This is partially due to limited standard library functionality that requires a bunch of third-party utility code (with possible duplicate functionality). Deno hopes to mitigate this by having a good enough standard module (similar to the ones of Go or Python) at deno.land/std
Take my money! Great idea!
Looks like Go!
so... they don't like npm because it is centralized and don't like the fact some functionality is node team dependant, but totally fine adding typescript and code bundler that will be deno team dependant, security centered but has url modules... im confused... why make deno into a framework... it should be a runtime not a framework.
Well, a run time environment can have a set of libraries built in, just like node, he mentioned in his presentation that you are not obligated to use any of those and it can be composable, a framework it's fundamentally different they, have a workflow you have to follow and plug in your code, it's called Inversion of control, I don't see that in Deno yet. I don't think the imports are determined at run time that would make no sense, I think what they did was to reference the import via an URL then it will be resolved at build time, although I still don't like putting an URL in an import
I don't get why he lists out loads of tools. They all do different things and lol you don't have to use them. It's a de-centralised toolset
it's centralized in that you have to fetch them all from npm. realistically, you find that many larger node projects include a shit ton of tools. i've seen projects that use webpack, gulp, grunt, and rollup all in one codebase.
awesome
Interesting!
so:
- One of the reasons Deno has been created because NPM is a centralized system and you don't like it, ok.
- You prefer to use Rust over C++ because Rust ecosystem is more similar to NPM, reuse code is easy.
oh the irony
We hate NPM not just because it's centralised but because it's owned by a private company and at the end of the a company's only goal is to make money and not care about it's users.
Rust's crates.io is just a package registry and not owned by any such company
@@akshatagarwal1631 Do you hate GitHub and TypeScript as well because they are owned by a private company? Ironic is that Github, TypeScrip and NPM are all owned by Microsoft and that doesn't stop deno devs using github and typescript, but npm is evil?
Yeah had exactly the same thought...
Ryan Dahl was inspired mostly by Golang when he created deno and in fact early deno prototype was written in Go as opposed to Rust and that time golang didn't have a package manager so Ryan didn't think it is useful. But then golang community found out the hard way that they need a package manager and now golang has one. Also it proved to be really annoying to manually maintain go packages so they switched to rust which has crates lol.
I just don't get how can you say package managers are bad and then praise package managers. I think he is just a little bitter that he quit the node project way to early and it because fist class citizen on the web without him.
@@uFlock Deno is a package manager in itself
@@akshatagarwal1631 It is not really, it is not a package manager it has an ability to download and install packages, but it can't manage it. I can't do deno install, so it automatically goes and fetches the latest versions of packages I need, I have to find out if one of the modules have been updated, then find the url manually and update (by manually typing the url) the url lol. That is just silly.