Just putting this take out there. https://x.com/borkdude/status/2108541856124662078
About deno I'm not hugely invested in it, but kind of a pattern. There's a "something". Those people join big corp. The "something" is gone within a year (sure, open sourced, but momentum stalls). We're lucky that didn't happen to Clojure.
Ouch!
wow, that sucks
also why I'm glad clojure has so many good targets
like JVM, JS should still be around
and clj/cljs are so stable and the codebases are actually readable
I think node will outlast bun
I think so too. they seem to be much more serious about stability
it's just that npm needs a "solution"
At work, just today, we were all complaining about horribly unstable the JS ecosystem is, esp. around native apps. Forced upgrades all the time, and most upgrades break stuff 😐
that's culture, the Node.js platform itself is pretty stable
reaction on X: > damn this is so sad > > - node.js is everywhere but it has objective flaws like poor security model compared to deno > - deno was cool but never really adopted > - bun quickly turned into an overengineered feature creep and became absolute slop after being acquired by Anthropic (it's the only runtime that frequently segfaults on different machines I have, running usual js slop)
Maybe, but that would be like the JVM being stable while the Java standard library kept introducing breaking changes. I mean, it would be worse if Node.js was also unstable, but for web/native apps, Node.js is only a runtime for builds. I'd never use it as a backend runtime.
That's not the same to be the devil's advocate. Node.js has a standard library which is stable (AFAIK). It's the ecosystem and frameworks (semantic versioning) that are the breakers.
It also has a lot of stuff built-in. But to be fair, I don't have extensive production experience with it.
Other than building things like #C029PTWD3HR on it. And there it's never caused my any pain upgrading things like Node.js itself
it seems the bun guy isn't really intending to stick to standards but to "improve" what typescript is doing in his runtime https://x.com/bunjavascript/status/2108441841498804715/photo/1 You can't call this serious, unless he intends to name it a different language (lots of backlash in the comments)
Node.JS is anything but stable, honestly. Nan was the way to write native libraries, and they break compatibility all the time. N-API is supposed to be stable and forward compatible, but it also isn't - it's better than Nan, but still pretty bad. Package dependency is a hell of a thing - depending on which tool, and which version, you can have different results, different lockfiles, and sometimes things won't even RUN if you have the wrong version. Newer node change the way they interpret JS files (is it ESM by default, or is it CJS?) and these can cascade insanely (a mismatched NPM with a post script thinking it's running on the wrong version of node for example). The build tool needs Python (WHY?) and use different compilers on Windows and Linux, and also sometimes are dependent on the Python version too. And WASM also changes quite a lot (I had to change my emscripten build scripts multiple times already because of this). And this is all even without including Electron, which turns these problems at least 10x worse...
But staying on topic, I'm also quite happy that it didn't happen with the Atom editor. Well... it DID happen, but we somehow were able to keep the momentum (or even start it - Atom was already stalled even before it was archived)
Were those packages (Nan and N-API) published as non-experimental?
I guess I'm not an advanced enough user, I never really used those in anger.
No, both nan and n-api are considered stable 😅
Without looking, name the only one special form (special-symbol? 'x) that is qualified. It was surprising to me that there was even a qualified one.
where is special-form? from? depending where it got it's list of special forms who knows. https://clojure.org/reference/special_forms for example lists things that are macros, and macros are ns qualified. And I don't think the list on that website even includes what you are likely looking at
clojure.core/special-form?
➜ gateless-platform-agent clj
Clojure 1.12.0
user=> clojure.core/special-form?
Syntax error compiling at (REPL:0:0).
No such var: clojure.core/special-form?
user=>
am I misspelling something?Special-symbol? perhaps?
sorry, I meant special-symbol?
those are the documented special forms. who looks at docs nowadays (kidding). I mean the thing the compiler treats as specials, e.g. you can't use for a local and then use in call position without hitting the special form
if you google "clojure special-form?" google's ai happily hallucinates and tells you all about it 🙂
:-)
there was a thead somewhere recently where rich was explicitly saying that the let macro is a special form and you can't expect things to work if you exclude it from a namespace
rich is a silly guy
yeah I know, I was there and 15 minutes later he was on stage and I sat at the front to watch it ;)
anyway, the special symbol is clojure.core/import* (qualified). it's the only qualified one
I have a whole bit about what does special form even mean https://clojurians.slack.com/archives/C053AK3F9/p1663784082969469
yeah, there's the conceptual special form and the technical special form I guess
there was at one point a wiki page somewhere with ideas for clojrue 2.0 and namespacing special forms was on the list
my guess would be that the clojure.core/import* special form was added later when Rich didn't want to break people who used import* already?
I still get caught out sometimes that import is a macro and not a function anymore
ah, I knew there was a more fleshed out bit about special forms somewhere https://clojurians.slack.com/archives/C03S1KBA2/p1647452766212119
👮🏼♂️ how the heck is this off-topic? I love it though 👮🏼♂️➡️ 💨
If anyone wants to play with the new decompilation tools - the ones that let them fully decompile Halo 3 into source - I have a few requests for things to fully decompile. • Yu-Gi-Oh the power of chaos - Joey the passion • SpongeBob SquarePants employee of the month • Captain crunch's crunchling adventure