Ryan Dahl
👤 PersonAppearances Over Time
Podcast Appearances
It's very nice to you. The C++ API, you need to know what you're doing pretty seriously in order to drive it. In Rust, like you can kind of just hammer on the keyboard and write a V8 runtime just because like whatever, when it compiles, it's kind of going to work. Yeah, Rusty V8 is also going 1.0 next week, actually.
It's very nice to you. The C++ API, you need to know what you're doing pretty seriously in order to drive it. In Rust, like you can kind of just hammer on the keyboard and write a V8 runtime just because like whatever, when it compiles, it's kind of going to work. Yeah, Rusty V8 is also going 1.0 next week, actually.
And above that is DenoCore, which adds a little bit more infrastructure, adds the module system, adds not the NPM stuff, but adds kind of basic ESM modules. It adds a thing called ops, which is basically our binding layer to Rust, an easy way to make async functions kind of bind into JavaScript, essentially do this in a super optimal way. Above that, we have EXTs, which are different.
And above that is DenoCore, which adds a little bit more infrastructure, adds the module system, adds not the NPM stuff, but adds kind of basic ESM modules. It adds a thing called ops, which is basically our binding layer to Rust, an easy way to make async functions kind of bind into JavaScript, essentially do this in a super optimal way. Above that, we have EXTs, which are different.
Think of them as native modules. So, for example, one extension set of modules is like the Fetch API. And so maybe you just want DenoCore plus the Fetch API and nothing else. And you can build your own runtime using those two things. Obviously, all this stuff is MIT licensed. And so, you know, for different use cases, you know, obviously you need to be programming in Rust.
Think of them as native modules. So, for example, one extension set of modules is like the Fetch API. And so maybe you just want DenoCore plus the Fetch API and nothing else. And you can build your own runtime using those two things. Obviously, all this stuff is MIT licensed. And so, you know, for different use cases, you know, obviously you need to be programming in Rust.
Like this isn't necessarily approachable to everybody. Sure. But for some systems, like maybe you're building a serverless system where you really only want fetch and you just want some JavaScript execution, well, you can kind of plug into it at this lower layer. Yeah, the high-level Deno executable is opinionated, has a bunch of functionality in it, but we still have these lower layer things.
Like this isn't necessarily approachable to everybody. Sure. But for some systems, like maybe you're building a serverless system where you really only want fetch and you just want some JavaScript execution, well, you can kind of plug into it at this lower layer. Yeah, the high-level Deno executable is opinionated, has a bunch of functionality in it, but we still have these lower layer things.
And I think that's kind of the appropriate trade-off, right? Because there's a smaller audience at those lower layers, but they're also more technical. They're also able to kind of deal with this stuff. The highest level people just want to pull in the AWS SDK, and they don't care at all about anything else. They're like, Do you have that? Yes or no? End of story.
And I think that's kind of the appropriate trade-off, right? Because there's a smaller audience at those lower layers, but they're also more technical. They're also able to kind of deal with this stuff. The highest level people just want to pull in the AWS SDK, and they don't care at all about anything else. They're like, Do you have that? Yes or no? End of story.
And Dino, we just need to pull that in.
And Dino, we just need to pull that in.
I mean, it is still a thing. I think, you know, people might imagine that it's more than it is. I mean, it's really kind of describing in minute detail kind of how, say, fetch works in server environments. Yeah. It's kind of hard to get agreement between all of the server-side vendors on what constitutes servers in JavaScript. That is a goal, but it's probably not something immediate.
I mean, it is still a thing. I think, you know, people might imagine that it's more than it is. I mean, it's really kind of describing in minute detail kind of how, say, fetch works in server environments. Yeah. It's kind of hard to get agreement between all of the server-side vendors on what constitutes servers in JavaScript. That is a goal, but it's probably not something immediate.
There's not going to be a spec for exactly how an HEP server is going to work in JavaScript. But nevertheless, we participate in it. Yeah.
There's not going to be a spec for exactly how an HEP server is going to work in JavaScript. But nevertheless, we participate in it. Yeah.
Yeah. So just for clarity, like in the Deno open source project, the Deno KB APIs are backed by SQLite and you can kind of run a single instance and kind of have that same functionality. And
Yeah. So just for clarity, like in the Deno open source project, the Deno KB APIs are backed by SQLite and you can kind of run a single instance and kind of have that same functionality. And
dino deploy our our commercial platform uh when you when you run you know these edge functions that are running across the world uh the the dino kv apis are backed by foundation db it's like kind of this this big distributed database that's pretty sweet the dino kv apis are not stabilized in dino 2 uh we we they continue to be experimental in part because this is kind of an experimental business effort and
dino deploy our our commercial platform uh when you when you run you know these edge functions that are running across the world uh the the dino kv apis are backed by foundation db it's like kind of this this big distributed database that's pretty sweet the dino kv apis are not stabilized in dino 2 uh we we they continue to be experimental in part because this is kind of an experimental business effort and