I'd say: everyone thinks they know javascript. Learning a new language is easy (especially with C-like syntax) but not the library. The language having nearly zero standard library makes it change under your feet on every different context. Deno started the initiative to supply what you get in the browser everywhere, but the browser being a GUI environment, the missing stuff need to come from somewhere, like the Deno.listen[0]. .NET is not much better with one million different runtimes with different platform support and capabilities.
I do - .NET (since 5) has been great. And you've got stuff like Blazor for the frontend if you want to avoid JS entirely.
Now, if I do need a lot of interactivity in the frontend, I use Inertia with Laravel, which gives me a real full stack, robust, battle tested, well integrated and very productive solution.
I just tried it myself on a brand new Next project:
$ npx create-next-app@latest
...
$ npx next telemetry disable
Next.js' telemetry collection is already disabled.
Status: Disabled
You have opted-out of Next.js' anonymous telemetry program.
No data will be collected from your machine.
Learn more: https://nextjs.org/telemetry
Note the part that says "from your machine".An issue was crated about it but they just closed without responding: https://github.com/vercel/next.js/issues/31360
1. Last paragraph of that link you posted
2. https://github.com/vercel/next.js/issues/8851
3.https://github.com/vercel/next.js/issues/10713
4. Many similar discussions to this one here on hackernews.
``` NEXT_TELEMETRY_DISABLED=1 ```
in your .env file. I mean it couldn't be any easier.
> They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.
This is exactly the evil part I'm talking about.
There's an easy way to do this, which is having a config setting. They don't want to put it easy, and provide all these more convoluted ways, because what you describe is an "ideal" which doesn't reflect real life at most workplaces. That's the whole trick. "It's easy, just put this environment variable and ensure everyone on your team does it on their laptops and ensure every staging and production environment also does it and setup checks and scripts to automate it and alarms and improve your processes... it's just that easy".
Can you explain what's wrong with having a friggin boolean in a config file? Like VSCode does? Like any other non-evil piece of software does?
That's what I mean with being evil. That's what I mean with tricks.
Of course it can be disabled, and it "seems easy". That's the trick.
I’ve understood this and stopped using Next with all the enabled by default and intentionally difficult to disable metrics collection system they have in Next.
Having it enabled by default, without asking is already evil enough.
Refusing to have a setting you can easily commit into the repository to turn it off is next level.
They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.