| ▲ | Tiberium 2 hours ago |
| To be honest, Deno was cool in the past (I even somewhat promoted it on HN in some comments), but nowadays I'm disappointed in their lackluster approach to stability and testing (specifically in Node compat). I recently hit multiple Node compatibility regressions in Deno that were hard to debug, and it doesn't help that they use Claude for everything now, from actual fixes to writing blog posts (even this one). For example, those two issues recently directly affected my projects: - https://github.com/denoland/deno/issues/34297 - https://github.com/denoland/deno/issues/35289 Seems like the core of these issues was a Claude-coauthored PR: https://github.com/denoland/deno/pull/33208 I think I'll probably just go back to normal Node because it's stable and won't break things like this between minor releases, plus it's not full-on vibe-developed like Deno and Bun. P.S.: Deno does genuinely have good parts: built-in type checking, LSP server, formatter with sane defaults, and so on. I'm just very disappointed that they seem to be focusing less on the actual core runtime. |
|
| ▲ | bartlomieju 2 hours ago | parent | next [-] |
| > Seems like the core of these issues was a Claude-coauthored PR: https://github.com/denoland/deno/pull/33208 Disclaimer: I'm the author of the linked PR. Using AI here is not really at fault here - it was just a giant rewrite that replaced how we do `node:http` in Deno. Replacing the engine while driving is never easy and we did the best we could. While we have a lot of test coverage and we use tests directly from Node.js codebase, we just don't catch everything. We're constantly working on improving the situation and I'm sorry you hit a problem. I can assure you that we are fixing all Node compat bugs as quickly as possible. |
| |
| ▲ | swatcoder 2 hours ago | parent | next [-] | | > Using AI here is not really at fault here Maybe reality isn't represented by the git logs, but according to them, you appear to have composed, reviewed and merged 131 commits affecting 58 files and 6000 lines -- a task that you say amounts to "replacing the engine while driving" -- in the span of one week. If that's accurate, of course your reliance on AI is at fault here. It invites you to mistake velocity for quality and conflate test satisfaction for completion. Without AI, this effort would likely have taken much longer and an experienced team would have approached it with due meticulousness, being especially stringent in review. Absorbed in it, the work would have weighed on their unconscious while they slept, with "Ah shoot, did I consider XYZ?" moments striking them in the shower. Ideally, familiar with the specific contributors (i.e. you) and their style of work, the reviewer who later consider merging the work would have ideas what to watch out for and would spend extra time looking at the details you might not have fully considered. It's a whole decades-matured craft practice that can do a pretty good job of making sure that a refactor of this scale doesn't land in main too broken. And while that version still probably wouldn't have been entirely flawless either, or might never have even been attempted because of its greater calendar and attention burden, that doesn't mean that using AI wasn't responsible for why and how this version is broken. This is exactly how AI makes things worse and why many people are wary of relying on third-party projects that embrace it too blithely. If you're going to use it, that's great, and maybe it will help you keep landing big features more quickly than otherwise -- but at least accept responsibility for the tradeoffs that you're inviting when you do so. | |
| ▲ | re-thc 2 hours ago | parent | prev | next [-] | | > Rewrite the entire node:http stack to use llhttp (Node.js's HTTP parser) Can we please not turn Deno into junk? If you do the above -- what's the point of Deno? Once you bolt everything on like that you might as well just use Node. Deno started off with its own tools. Bun has managed a good balance between compatibility and its own thing (the recent moves aside) without resorting to these tactics... | | |
| ▲ | bartlomieju 2 hours ago | parent | next [-] | | We tried to build `node:http` on top of Rust libraries (like Hyper) but we failed for a couple years. So earlier this year we decided to make it compatible (by using llhttp to have very high coverage - at the moment 88% compatibility for node:http module) and then focus on improving performance and slowly chipping away llhttp parts while keeping compatibility. | | |
| ▲ | SOLAR_FIELDS 2 hours ago | parent | next [-] | | It's so easy for others to casually dismiss how difficult of a problem it is to get this right, especially, as you say, this is happening in flight for many thousands of users. Kudos to you for being transparent and building a genuinely cool and useful platform. | |
| ▲ | re-thc 2 hours ago | parent | prev [-] | | > We tried to build `node:http` on top of Rust libraries (like Hyper) but we failed for a couple years. Are you sure you "failed"? Maybe there was good enough compatibility and that wasn't the problem? The problem sounds like a business 1 where you're after more users and you deem this "magic compatibility" is fixing it. Well maybe that's not it. A lot of people tried Deno and even tried to build libraries for it back some years ago. What you "failed" at is building the traction, ecosystem and community support. Compatibility doesn't buy you moat. Deno specific ecosystem, libraries and services etc do. |
| |
| ▲ | someguyiguess 2 hours ago | parent | prev [-] | | > what's the point of Deno? To demonstrate how amazing bun is in comparison. |
| |
| ▲ | conartist6 2 hours ago | parent | prev [-] | | Of course the AI is not at fault, you were responsible as an engineer and you abdicated your responsibility | | |
| ▲ | bartlomieju 2 hours ago | parent [-] | | Sure, we also managed to close ~30 outstanding issues with this rewrite and set us up to reach ~90% node:http compatibility, so overall I consider it a success. | | |
| ▲ | conartist6 an hour ago | parent [-] | | AI lets people be reaaaaaaally "productive" when leaning into entirely the wrong work. Deno has no future if all it wants to be is a clone of node, so it just seems to me like your work is to speed the collapse | | |
| ▲ | undefined_void 40 minutes ago | parent [-] | | > A "node:http" regression caused by a PR fixing many of outstanding issue. Author explains and apologizes. > "Deno has no future" I think there may be other things bothering you? These comments aren't really productive and discourage maintainers to even continue replying. Disclaimer: I am a maintainer. | | |
| ▲ | conartist6 27 minutes ago | parent [-] | | Oh, you bet that my goal is not to give the AI users a pat on the back. I want them to know my unfiltered contempt for their unfiltered contempt for me (and anyone like me who still works with their hands). | | |
| ▲ | conartist6 17 minutes ago | parent | next [-] | | for the record the fact that I'm radically anti-AI also doesn't mean that I'm wrong that over the long term average it is a force that creates compounding debt and unmakes communities | |
| ▲ | undefined_void 14 minutes ago | parent | prev [-] | | > unfiltered contempt for me bro what | | |
| ▲ | conartist6 5 minutes ago | parent [-] | | I totally understand that you wouldn't get it if you'd never seen the kinds of things people say about non-AI users (writ large) and thought "they mean me". I've been told I'm insane, retarded, a megalomaniac, or simply extinct. People I once respected are trying to convince the next generation not to learn, not to gain skill, not to build community. People with as much logic as a heap of bat feces tell me confidently that code is "over". Now if I was an AI I'd be very polite about this, but I'm a human so I say they can go fuck themselves. |
|
|
|
|
|
|
|
|
| ▲ | MoonWalk 2 hours ago | parent | prev | next [-] |
| Well if Node compatibility is your big deal then yeah, why not just use it? I started a new project on Deno to avoid the NPM mess. Node compatibility was a distraction for the product. I'm tired of everything depending on Node. Assuming that everybody uses it is lazy. |
| |
| ▲ | Tiberium 2 hours ago | parent | next [-] | | Because I wanted native TypeScript support which Node only gained relatively recently and only partially, plus the issues I showed are regressions - they worked fine in earlier Deno versions. | |
| ▲ | pier25 an hour ago | parent | prev | next [-] | | > Node compatibility was a distraction for the product I've gone back and forth on this point over the years. Yeah, Node compat has probably affected the rest of the product. I imagine at some point they (or their investors) freaked out because adoption wasn't happening. And the reality is it really doesn't matter if your product is better when nobody is using it. In retrospect I think it would have been a better decision to target Node compat from the start like Bun did. An impossible option at the time given Deno started trying to make something different from Node. Or maybe the problem was simply they couldn't afford low adoption after having investors on board. | |
| ▲ | 2 hours ago | parent | prev | next [-] | | [deleted] | |
| ▲ | someguyiguess 2 hours ago | parent | prev [-] | | To be fair, you can't blame a person for thinking that a runtime created by the same guy who created Node would work with Node. | | |
| ▲ | timw4mail 24 minutes ago | parent [-] | | But the point of Deno was to try to avoid pitfalls that became apparent in NodeJS, so some over-correction was bound to happen. |
|
|
|
| ▲ | ch4s3 2 hours ago | parent | prev | next [-] |
| Time for someone to spin up Endo, but this time no cute ideas for real. |
|
| ▲ | Recursing 2 hours ago | parent | prev | next [-] |
| node randomly broke production for us last week https://github.com/nodejs/node/issues/63989 not sure it can be considered "stable and won't break things like this between minor releases" |
| |
| ▲ | Tiberium 2 hours ago | parent [-] | | Welp, guess the only option is to stay on some single version then and hope it doesn't get critical security issues... | | |
|
|
| ▲ | dismalaf 2 hours ago | parent | prev [-] |
| Deno went downhill as soon as they introduced Node compatibility. It promised a better way of doing things, then stooped back down to Node fuckery. |