Earlier quoted context omitted.
That wasn't a value judgment on the acquisition. I was just pointing out that it made the project more sustainable.
That's a yes and no. Venture funded companies like Anthropic have a history of low follow through with peripheral projects (like Bun is for them). Of course they do - their responsibility is ultimately primarily to their investors - not to Bun. So the risk now is that Anthropic will can Bun whenever they just lose interest or feel it's just a drain that's not contributing directly to their bottom line. Node.js itself…
Deno 2.8
181–190 of 193 posts
Re: Deno 2.8
#182Earlier quoted context omitted.
I think the biggest issue with Deno is that it fixes real issues but in the wrong way. Take the sandboxing stuff. In theory, you have always been able to sandbox your applications. There are so many tools that let you limit what domains an application can access or restrict access to the file system. This doesn't need to be handled at the language/runtime level. It's just that people were lazy before, and they will c…
Use a .devcontainer and you're done in 10 seconds without any new runtime implementations.
Re: Deno 2.8
#183Earlier quoted context omitted.
> Because "it doesn't exist". It's just a layer on top of js, ... C++ was originally a layer on top of C. The first C++ compiler, "cfront" was actually a transpiler to C. There is nothing preventing TypeScript from becoming "native" in a similar way.
Typescript is only a linter, except for types annotations it is regular JS, quite different from C with Classes. If you are going to mention enum and namespaces, the team considers them a design error, and only keeps them around due to backwards compatibility.
I never thought of Typescript (TS) that way. I believe TS is a language addition that enabled smarter JavaScript linters; TS is not a linter program per se.
However, TS is more than that now. The extra annotations enable optimizing transpilers and even compilers (to WASM, for instance). This makes TS much more than just a better linter; I think of TS as a better language.
Re: Deno 2.8
#184Earlier quoted context omitted.
(thinking emoji) they could merge. Seriously, they're both Rust now. They share goals.
I doubt it would work out. The engineering cultures could not be any different.
Re: Deno 2.8
#185Earlier quoted context omitted.
Typescript is only a linter, except for types annotations it is regular JS, quite different from C with Classes. If you are going to mention enum and namespaces, the team considers them a design error, and only keeps them around due to backwards compatibility.
> Typescript is only a linter... I never thought of Typescript (TS) that way. I believe TS is a language addition that enabled smarter JavaScript linters; TS is not a linter program per se. However, TS is more than that now. The extra annotations enable optimizing transpilers and even compilers (to WASM, for instance). This makes TS much more than just a better linter; I think of TS as a better language.
Java IDEs were taking advantage of them for web development workflows, before VSCode came to be.
Also VSCode main architect is one of the Eclipse original architects.
Re: Deno 2.8
#186Deno: has a basic permission model that is very helpful, written in Rust, and native TypeScript support. I'm not deep in the webdev / node / Bun ecosystems, I've just been a happy user of Deno for small services for several years. Can someone explain why it sounds like there's such rapid growth of Bun? Is it just being used as a bundler, but not as JS runtime? Just the permission system alone (though I wish it extend…
I can tell you my experience as a js package dev, last tried a few weeks ago. We're building an npm package that's supposed to run on both node.js, deno & bun & the web. This is an annoying to do for exactly two platforms: node.js, and deno. node.js bcs it requires a workaround whenever something networking comes in: fetch doesn't work the same. So you structure you're code around having a node.js workaround. Same st…
Re: Deno 2.8
#187A lot of these changes seem geared toward adopting Node/NPM default DX. To the point where Deno DX (or what it was previously) now comes second. The worst of the changes is "lib.node included by default", if I'm writing Deno or web code I absolutely don't want node types included by default. Those types were a pain to deal with even in Node projects, resulting in multiple tsconfigs to avoid those types polluting plat…
I somewhat agree with you. For example, in Deno v2.8 they've changed the return type of setTimeout and setInterval functions from webstandard-compliant 'number' to opinionated 'NodeJS.Timeout'. Which is a short-sighted change trying to reap immediate short-term implementation-centric benefits in the expense of the future. Pains of churn and breaking API changes are welcoming their new bearers...
Re: Deno 2.8
#188A lot of these changes seem geared toward adopting Node/NPM default DX. To the point where Deno DX (or what it was previously) now comes second. The worst of the changes is "lib.node included by default", if I'm writing Deno or web code I absolutely don't want node types included by default. Those types were a pain to deal with even in Node projects, resulting in multiple tsconfigs to avoid those types polluting plat…
> The worst of the changes is "lib.node included by default", if I'm writing Deno or web code I absolutely don't want node types included by default.
Since a few versions ago, Deno now has some of Node.js APIs included by default (eg. process or Buffer). It's really more of a bug fix to make type-checking work properly.
While it's not ideal, you can still decide which types you want included by default with `compilerOptions.types`. `["deno.ns", "web"]` should give you what you're looking for.
Re: Deno 2.8
#189Re: Deno 2.8
#190Earlier quoted context omitted.
Javascript/Typescript as it is now isn't a great language for a real capability system because any code can monkey-patch global objects and use that to steal capability objects from elsewhere. JS code of different privilege levels needs to be run in separate realms at the very least. (Though there are proposals for things like frozen realms that try to make JS more suitable for capability systems.)
one more reason I would have preferred a world in which lua was used in js's place