As a PHP-Dev, who only occasionally has to use Node for small projects, I appreciate Deno so much. Having an entire LSP, Prettier and Compiler Setup in just one executable is awesome. That is its main advantage for me. Easy to use, easy to set up, great set of standard functions and that on all Platforms I have to use. And huge thank you to you Mr. Dahl and everyone else who worked on it.
We picked up Deno after the v2 release and I dont see us going with NodeJS or Bun for any future projects. There are some pain points where you'll need a few "patch" scripts for NPM modules, and there are things like Elysia which are just not workable with Deno. The Deno tooling is so great though that it's worth it. Hopefully the STD will evolve to replace things like Hono similar to how Go does it.
Elysia has to be the worst code base ever written. I need to know the current state of the author because maybe that could explain it. Someone has an insight on this? Well anyway why would std need something like hono when there is hono already? I'm not a golang gooner so I might be missing something
The purchase of Sun Microsystems by Oracle was one of the most disastrous things to happen to OSS, ever. It is a testament to the power of the model that so many open source projects survived this attack.
Damn prime/tj. Your net catching some real big fish, I love it. Uncle Bob, DHH, Laravel guy, Ryan Dahl. Next step the OG React Andy? Evan You? You should get the creator of Rust on.
Ryan's Node presentation back in 2009 is one of the most impressive I have ever seen. It got this old C/C++ developer onboard with JS and web dev in general. At that time web sockets and webgl were still new kids on the block, with that and node I made a sweet data visualisation for our then start up.
Great chat, could definitely feel his bias towards js on the server and using deno obviously which is fair, though it would be nice if you guys challenged some of these ideas. "Why use js on the server when you could just use go etc", would be interesting to hear his take on that sort of question
Regarding registry scopes, I think the AT Protocol has nailed it by allowing domain handles. Allowing people to add a TXT record to their host's DNS removes the manual verification systems that seem to be in place everywhere. Not sure if something like that would work for a module registry, but seems like it could be possible.
JavaScript will not go anywhere for a very long time. The technical feat of WASM as a mature, uh, thing, is absolutely enormous, and it is far from being there. It's on a much longer trajectory. It's not a single language - or even a single ecosystem. It's also not just a web target for a single language - but a universal target for offline systems as well as the web. Surrounding that is all these elements that will have to meet WASM half way. It's not a business that will fail per se - just fall stagnant at times. It might bomb I guess, but its technical premise will keep on coming back around.
When talking about indexing arrays from 0 instead of 1 I'm recollecting anecdote considering polish mathematician (Most likely Banach) counting his suitcases on railway station - zero, one, two - all three. I believe it was told by my high school math teacher, when introducing indexing of sequence terms.
@5:30 I definitely have to give Rust credit on this. Cargo is really simple to use and powerful and the error reporting is unmatched. That being said, I still prefer Zig overall, but Rust did well on those points.
rust compiler error handling is more verbose than zig compiler. i hope zig is stable as soon because i tried 2 zig most populard backend framework, the performance is much lower than rust and go in windows, 2 times lower rps and the other is more than 6 times lower rps lol
@@UwU-f2a Well lucky me I do not develop on nor for Windows 😂 Rust error messages are very verbose but also well laid out and with colored output. They made it pretty, basically lol.
He’s a cool engineer, a Linus in a sense, but Ryan’s got the vision that you need as a leader, only missing the attitude and decisiveness of a Linus 😂. Performance is cool, but it’s not a sufficient vision for the future, Bun is lacking in that sense.
@@anonymousalexander6005Did you just compare the great Linus with the bun baldie who achieved nothing and will achieve nothing? Please do not ever do that again.
@@RustIsWinning I think you’re putting Linus on a higher pedestal than his technical accomplishments deserve, but you’re right, that was the point of my comment, they may both be good engineers, but only Linus has the true talent of a great leader that can actually build a good project and lead people, with Ryan being somewhat in-between. Half, if not more, of the accomplishments of Linus are from his leadership, he himself admits he doesn’t accomplish many technical engineering tasks. “You manage things, you lead people” - Admiral Grace Murray Hopper
1:12:00 paraphrasing: To the guy that executed the funniest marketing video for a software product in a long, long time: "Do you realize you're not sh*ttalking enough?"
In general I am very excited with what deno2 is, it makes typescript to a proper language you could actually use (lol). But I have just found my first problem with deno2 which is some voice connections are not yet implemented. This is a major blow and disappointment as it was meant to be production ready...
The big mistake was not taking inspiration from other module systems like ML ones. They work so well for JS. I think it's part of the reason why Melange, ReScript, ReasonML, PureScript, etc., works so well.
37:41. Just call your thing ESR and call it a day. If I was going to make a new framework, I would just avoid the trademark worries and call it Jabbascript. Perfect name for fat bloated frameworks
33:35 but what if an established package, actively maintained with name X is on there, then a company named X starts building a JS library for their business, what happens with the original package? Will they have the right for their name? This sounds like it can turn into a Domain kind of battle. I think a better approach would be to use namespaces. You are a company? Sure, you get the @company namespace, then you can publish as many packages as you want under that namespace.
It's an interesting suggestion. Maybe people will get into the habit of install @deno/deno rather than just install deno. I have seen companies getting bought out and then you either have to always use the legacy company name, or the users have to know that from a certain version the namespace is different.
@@simonhartley9158 maybe they can add a "symlink" or something. Deno/deno would be a mirror of Buyer/deno I'm more concerned about the individual contributor than companies tbh
@@simonhartley9158 maybe a "symlink" kind of approach would work here. If deno/deno gets acquired, then it would be an identical mirror for buyer/Deno. I'm more concerned about the individual contributor than the companies tbh.
@@crowlkatsthank you for actually completely answering the question. What all of us want as end users is for humans to be making these decisions based on what is best for the community, and it sounds like JSR is doing that.
The biggest cancer I've faced with JavaScript in the recent years is the module system. ESM, CJS, and I'd give edge functions a third type (as it shouldn't have node dependencies). It just makes the process of integrating certain technologies painful. It took me 3 weeks part-time month to get Vite, Remix in a monorepo fashion.
@@Lemmy4555except the type hinting has 0 effect on the code itself. It's why we use mypy and whatnot to make the type hinting as accurate as we can, but if I want to make EVERYTHING an int type, I can. Even when during runtime all those variables won't be ints.
@@NostraDavid2 Yes, until you start extending enum or protocol. Honestly Python went in the wrong direction in my opinion, type hints are great, but all the runtime utils to do many other things are horrible. In typescripy you can "type cast" using "as", this will allow you to solve some problems sometimes, in python you just can't, you have a real cast function that does real stuff and may cause more headache
Use code TOPSHELF on coderabbit.ai for 1 month free
I AM NOT G.A.Y, THANKS.
Next we will get Linus Torvalds in prime show 😂
He was already interviewed by Prime
One day one day
@@VudrokWolfwhen send link?
You never know
@ how when?
I like Ryan, he addresses a little problem, solves it, everyone cries and he tries to make it better. He is a developer...
🎯 Key points for quick navigation:
00:00 *Ryan Dahl introduction*
00:14 *Deno 2 release*
00:28 *Node vs Deno*
00:55 *Rust's growing popularity*
01:09 *Rust adoption journey*
02:05 *Programming language shifts*
03:15 *Early JavaScript bindings*
04:21 *Rust’s stability benefits*
05:14 *Rust's package management*
05:42 *Deno's ESM support*
07:18 *Rust project scaling*
09:12 *Unified web standards*
10:07 *JavaScript's longevity predicted*
11:17 *CommonJS compatibility*
12:42 *TypeScript pragmatism*
14:33 *Node's evolution pressure*
16:08 *Standards and deviations*
17:45 *JSR overview introduced*
19:08 *JSR as alternative*
21:20 *Dependency validation improvements*
22:17 *URL-based imports limitations*
23:53 *Centralized server advantages*
24:32 *Versioning simplifies updates*
25:12 *Robust module system*
26:18 *Complexity management tradeoff*
27:28 *Directory-level modules preference*
29:18 *Scope squatting issues*
30:14 *Reserved scope protection*
32:12 *Community-driven oversight*
33:47 *JavaScript trademark ownership*
34:38 *Trademark abandonment concerns*
36:09 *Oracle’s JavaScript trademark*
38:46 *Community petition support*
39:57 *Course copyright issues*
40:23 *Dino 2 marketing approach*
41:07 *Vim and Neovim usage*
42:40 *Early Node demo impact*
44:00 *Event loop explanation*
46:06 *Event-driven server preference*
47:38 *Async programming challenges*
48:09 *Synchronous, async conflict*
48:50 *Web structure similarities*
49:31 *Multiplexed event loops*
50:25 *Rust async complexities*
51:20 *Async signal advantage*
52:14 *Code structuring patterns*
53:38 *Lifetime management workaround*
54:04 *Deno’s permission model*
54:30 *Web-inspired security*
55:11 *Module-level permissions desired*
56:22 *Controlled network access*
57:27 *Deploy sandbox layers*
58:25 *V8 integration complexity*
59:08 *V8 performance praised*
01:00:20 *Rusty V8 project*
01:01:16 *Rusty V8 bindings*
01:03:02 *Optimized function calls*
01:03:59 *Async Rust functions*
01:05:21 *JavaScript language choice*
01:06:04 *Lua simplicity appeal*
01:07:14 *Libuv event loop*
01:08:08 *Libuv widespread adoption*
01:09:00 *Code Rabbit sponsor*
01:09:54 *JavaScript as Assembly*
01:10:49 *JavaScript's long-term future*
01:12:00 *Exclusively JavaScript support*
01:12:27 *Innovation in frameworks*
01:13:54 *Dino's competitive potential*
01:15:01 *Dino’s simplicity advantage*
01:16:19 *Node setup complexity*
01:17:00 *Dino user-friendliness*
01:18:09 *Tooling unification trend*
01:18:38 *Complex bundling challenges*
01:20:13 *Full developer toolkit*
01:21:10 *WebAssembly overhyped*
01:22:32 *Dino wasm integration*
01:24:18 *Wasm unnecessary complexity*
01:25:00 *Bun's active marketing*
01:25:51 *Tech marketing approach*
01:26:57 *Fresh 2 component support*
01:28:24 *Dino 2 simplicity focus*
01:29:07 *JavaScript trademark wrestle*
Made with HARPA AI
Cool. Like a good overview of an master class Js job interview!!!
So many timestamps maybe less would be better
I can't believe John Lennon made Node and Deno
On the thumbnail looks like the markiplier dude
@@dgo4490Are you wearing your glasses?
He does look like John Lennon and Mark Zuckerberg had a baby together.
incredible things are happening
John Dennon?
THIS is a guest that knows something. Lovely chat.
We need more people like Ryan in this space. Thoughtful, articulate, humble. His comments on Twitterverse “drama” make me respect him massively.
And less peple like the bun baldie including his crew who make useless posts on a social media platform every day
As a PHP-Dev, who only occasionally has to use Node for small projects, I appreciate Deno so much.
Having an entire LSP, Prettier and Compiler Setup in just one executable is awesome. That is its main advantage for me.
Easy to use, easy to set up, great set of standard functions and that on all Platforms I have to use.
And huge thank you to you Mr. Dahl and everyone else who worked on it.
the node.js creator and the two guys from two idiots, one keyboard. LFG
what a crossover
One guy, two js craps.
@@mr.togrul--9383 yeah, we didn’t expect this at all
Careful, Prime might leak his IP- I mean, your IP...
😆
I come from Java/Kotlin world. Now working as a React/Typescript dev. Deno is awesome.
Deno/Node creator with the random reaction guy and the nvim guy.
And teej, don't forget about him.
"Pause. let Ryan say something" 😆
I love that you invited Ryan over the show. and the famous first question Rust vs Go. :-) Deno is my favourite....
We picked up Deno after the v2 release and I dont see us going with NodeJS or Bun for any future projects. There are some pain points where you'll need a few "patch" scripts for NPM modules, and there are things like Elysia which are just not workable with Deno. The Deno tooling is so great though that it's worth it. Hopefully the STD will evolve to replace things like Hono similar to how Go does it.
Elysia has to be the worst code base ever written. I need to know the current state of the author because maybe that could explain it. Someone has an insight on this? Well anyway why would std need something like hono when there is hono already? I'm not a golang gooner so I might be missing something
@@RustIsWinning fewer dependencies are better dependencies, but you're right. Hono is great.
Yo Prime, came to comments section to say that I really like that spark you guys got between, you co-ing with teej is really fun for me to watch
That intro to TJ was brutal
"hey teej, why not join the podcast, so I can roast the SHIT out of you? 😂" - Primeagen, probably.
Thank you for getting back on track with quality guests after the twitter guy
lmaaoooonot the twitter guy
lmao yeah that guy was weird
Say it!
Which guy? Are we talking about the baldie?
Yacine was a good interview. GTFO
Brazilian elevators mentioned! Let's Go!!!
The purchase of Sun Microsystems by Oracle was one of the most disastrous things to happen to OSS, ever. It is a testament to the power of the model that so many open source projects survived this attack.
Also a testament of of Sun's technical abilities.
Damn prime/tj. Your net catching some real big fish, I love it. Uncle Bob, DHH, Laravel guy, Ryan Dahl. Next step the OG React Andy? Evan You? You should get the creator of Rust on.
Ryan's Node presentation back in 2009 is one of the most impressive I have ever seen. It got this old C/C++ developer onboard with JS and web dev in general. At that time web sockets and webgl were still new kids on the block, with that and node I made a sweet data visualisation for our then start up.
If Ryan goes after Oracle for this trademark business I would 100% support him.
Great chat, could definitely feel his bias towards js on the server and using deno obviously which is fair, though it would be nice if you guys challenged some of these ideas. "Why use js on the server when you could just use go etc", would be interesting to hear his take on that sort of question
Mad respect, if I could convince my team to switch I would in a heart beat.
Regarding registry scopes, I think the AT Protocol has nailed it by allowing domain handles. Allowing people to add a TXT record to their host's DNS removes the manual verification systems that seem to be in place everywhere. Not sure if something like that would work for a module registry, but seems like it could be possible.
That sounds horrible for resolving dependencies lol
12:45 Prime quietly seething not to say JSDoc
I got upset when he said TS is the way to go. I could not be an interviewer and quietly let people cook.
JavaScript will not go anywhere for a very long time. The technical feat of WASM as a mature, uh, thing, is absolutely enormous, and it is far from being there. It's on a much longer trajectory. It's not a single language - or even a single ecosystem. It's also not just a web target for a single language - but a universal target for offline systems as well as the web. Surrounding that is all these elements that will have to meet WASM half way. It's not a business that will fail per se - just fall stagnant at times. It might bomb I guess, but its technical premise will keep on coming back around.
Prime, it's a bit annoying that you constantly seem to be distracted by something else, just raising a thumb when you hear something you like...
Great interview, I enjoyed it a lot!
when Folke?
When talking about indexing arrays from 0 instead of 1 I'm recollecting anecdote considering polish mathematician (Most likely Banach) counting his suitcases on railway station - zero, one, two - all three. I believe it was told by my high school math teacher, when introducing indexing of sequence terms.
Web Assembly is in interesting topic, I'd love to watch a discussion about it with whatever guests might make sense.
excited for this one prime! Didnt get to catch it live
was able to watch live, great video!!
@5:30 I definitely have to give Rust credit on this. Cargo is really simple to use and powerful and the error reporting is unmatched. That being said, I still prefer Zig overall, but Rust did well on those points.
rust compiler error handling is more verbose than zig compiler. i hope zig is stable as soon because i tried 2 zig most populard backend framework, the performance is much lower than rust and go in windows, 2 times lower rps and the other is more than 6 times lower rps lol
@@UwU-f2a Well lucky me I do not develop on nor for Windows 😂 Rust error messages are very verbose but also well laid out and with colored output. They made it pretty, basically lol.
@@UwU-f2aYourMama is verbose. Also nobody cares about windows LMAO 😂
@@RustIsWinning shit rustrash pinky wannabe pro player talking 🤡🤡🤡 shit product cant work in any platform 🤡🤡🤡
6:20 Rust is fun.
the GOAT said it himself
Yep and that's why Deno is winning! 🦀
chat needs to grow tf up
Well Prime's viewer are people who loved to hate other languages. Their top hated language is Rust.
@@skuwamy wdym, they love rust.
10 minutes in and this guy is preaching the good word
Ryan is goated. Great programmer with great insights.
We need Jarred creator of Bun next.
He been already on this channel multiple times.
With all due respect bun that guy
He’s a cool engineer, a Linus in a sense, but Ryan’s got the vision that you need as a leader, only missing the attitude and decisiveness of a Linus 😂. Performance is cool, but it’s not a sufficient vision for the future, Bun is lacking in that sense.
@@anonymousalexander6005Did you just compare the great Linus with the bun baldie who achieved nothing and will achieve nothing? Please do not ever do that again.
@@RustIsWinning I think you’re putting Linus on a higher pedestal than his technical accomplishments deserve, but you’re right, that was the point of my comment, they may both be good engineers, but only Linus has the true talent of a great leader that can actually build a good project and lead people, with Ryan being somewhat in-between. Half, if not more, of the accomplishments of Linus are from his leadership, he himself admits he doesn’t accomplish many technical engineering tasks.
“You manage things, you lead people” - Admiral Grace Murray Hopper
1:12:00 paraphrasing: To the guy that executed the funniest marketing video for a software product in a long, long time: "Do you realize you're not sh*ttalking enough?"
finally you took my advice and brought ryan on 😏
Truly top shelf for this one
I am happy this human exist! Thanks Universe!
I just realised Node and Deno are of same letters rearranged
ikr it's like denode-ing or making node simpler.
In general I am very excited with what deno2 is, it makes typescript to a proper language you could actually use (lol).
But I have just found my first problem with deno2 which is some voice connections are not yet implemented. This is a major blow and disappointment as it was meant to be production ready...
Nice episode as always
The big mistake was not taking inspiration from other module systems like ML ones. They work so well for JS. I think it's part of the reason why Melange, ReScript, ReasonML, PureScript, etc., works so well.
“Pause let Ryan say something”
What a fucking menace
C++ is the GOAT
never going anywhere
I miss primes daily uploads.
37:41. Just call your thing ESR and call it a day.
If I was going to make a new framework, I would just avoid the trademark worries and call it Jabbascript. Perfect name for fat bloated frameworks
i have literally been waiting for this
Love your content and excited for this one!
6:52 Yup. It takes longer and longer.
Sacches is a good tool to help with caching.
Ryan killed it. GJ team
I am a dotnet dev but I am very interested in deno.
The Chat alone is always worth the watch 😆😆😆😆
that does it, learning neovim
Deno is the future? Yes, please!
Didn't learn Node, won't learn Deno.
The only ECMAscript I use is five lines to place the text cursor in the search field.
Keep it simple. Cheers!
Why does he look like Markiplier from 2 years ago?
I think it will get rewritten in Jai or Odin once the build times grow too large.
Thankyou for doing these
aah chat demo, i was dabbling in Jaxer (extra points if you know it) back then, i remember saying myself yeeaa, that's it
lol 0:47 reading the bracketed script items XD
I was waiting for Prime to say “JavaScript on the server was a mistake” but it never came 😔
33:35 but what if an established package, actively maintained with name X is on there, then a company named X starts building a JS library for their business, what happens with the original package?
Will they have the right for their name? This sounds like it can turn into a Domain kind of battle.
I think a better approach would be to use namespaces. You are a company? Sure, you get the @company namespace, then you can publish as many packages as you want under that namespace.
It's an interesting suggestion.
Maybe people will get into the habit of install @deno/deno rather than just install deno. I have seen companies getting bought out and then you either have to always use the legacy company name, or the users have to know that from a certain version the namespace is different.
@@simonhartley9158 maybe they can add a "symlink" or something. Deno/deno would be a mirror of Buyer/deno
I'm more concerned about the individual contributor than companies tbh
@@simonhartley9158 maybe a "symlink" kind of approach would work here. If deno/deno gets acquired, then it would be an identical mirror for buyer/Deno.
I'm more concerned about the individual contributor than the companies tbh.
discussions like this are exactly what the JSR moderation commitee will discuss and adress once it is established
@@crowlkatsthank you for actually completely answering the question. What all of us want as end users is for humans to be making these decisions based on what is best for the community, and it sounds like JSR is doing that.
Ryan + Prime = Like
The biggest cancer I've faced with JavaScript in the recent years is the module system.
ESM, CJS, and I'd give edge functions a third type (as it shouldn't have node dependencies).
It just makes the process of integrating certain technologies painful. It took me 3 weeks part-time month to get Vite, Remix in a monorepo fashion.
That ending was so awkward 😂😃
Woof. Bring back Flash.
Where have you been?
Great talks
he also made odne
5:30 This is exactly why I don’t use c++
ha i do the same thing with global state, I like this guy.
🤘
I swear.. Whoever can solve or significantly reduce the compile times of Rust will still be poor, but known by the world.
You have a machine from the stone age? Compile times are fast nowadays.
your portfolio project should include a node or deno clone if you want a senior position lol.
1:22:15 OMG CloudFlare!
Loved it
watching this on IE btw.
denutzz
This is the kind of video that makes me realize that I'm not even on Sakura's level on a Ninja-Dev ranking chart 💩🤡
Maybe try harder and you will get there idk lol
Since deno2 came out I don't use anything else for all the javascript crap just because of the tooling
haha no one in the past has ever thought developers will be fighting for module system....
Next we will get done
💡Go:Flutter,Jaspr😉
Ryan Raynolds made Node.js? What??
Why it took over a month to post the video
Imagine talking about following spec and being pedantic about it while using TypeScript which has nothing to with JS actually
Just so you know: TS bascically is JS
❤❤❤
Idk why, but I can't launch Nuxt project with Deno
how tf did 498 people watch this in 8 minutes
views = allUserViewTime / videoLength
If Steve Jobs could code
His next and final project will be called DONE.
Was Prime star struck?
😍
13:08 that's how python works BTW (optional type hinting/syntax). So that would be a logical evolution for JS.
Many types in python have runtime impact actually, it's nothing like typescript
@@Lemmy4555except the type hinting has 0 effect on the code itself. It's why we use mypy and whatnot to make the type hinting as accurate as we can, but if I want to make EVERYTHING an int type, I can. Even when during runtime all those variables won't be ints.
@@NostraDavid2 Yes, until you start extending enum or protocol. Honestly Python went in the wrong direction in my opinion, type hints are great, but all the runtime utils to do many other things are horrible.
In typescripy you can "type cast" using "as", this will allow you to solve some problems sometimes, in python you just can't, you have a real cast function that does real stuff and may cause more headache