Live data from Hacker News

Node.js built-ins on Deno Deploy

deno.com

101–110 of 112 posts

Re: Node.js built-ins on Deno Deploy

#101
post #100
post #98

Earlier quoted context omitted.

Easily proven by happy consumers on Apple, Microsoft, Sony and Nintendo devices. Or the millions of daily passengers in transport mechanisms powered by high integrity operating systems.

I'm kidding of course. But in the specific context of this thread which was Nodejs backend development, I'd still maintain that not using Linux to develop is suboptimal.

Depends if one is stuck in the glory days of UNIX, or has already learnt to embrace native cloud development.

Re: Node.js built-ins on Deno Deploy

#102
post #101
post #100

Earlier quoted context omitted.

I'm kidding of course. But in the specific context of this thread which was Nodejs backend development, I'd still maintain that not using Linux to develop is suboptimal.

Depends if one is stuck in the glory days of UNIX, or has already learnt to embrace native cloud development.

In a way, the glory days of Unix, with users using shared infrastructure is closer to cloud than using Linux locally, which gives you freedom, independence and privacy.

Re: Node.js built-ins on Deno Deploy

#103
post #95
post #94

Earlier quoted context omitted.

As if docker doesn't run a VM on Linux when you invoke that one liner.

It doesn't

Official docker image for node is built from Alpine or Debian [1]

Forgive me if I don't believe that running a full OS on a host OS to run a single node command doesn't amount to running a VM.

[1] https://github.com/nodejs/docker-node/tree/main/20

Re: Node.js built-ins on Deno Deploy

#104
post #103
post #95

Earlier quoted context omitted.

It doesn't

Official docker image for node is built from Alpine or Debian [1] Forgive me if I don't believe that running a full OS on a host OS to run a single node command doesn't amount to running a VM. [1] https://github.com/nodejs/docker-node/tree/main/20

It doesn't run a full OS. Merely the nodejs binary with all it's dependencies.

You can think of Docker containers as a way to package an application dependencies, ending at the (Linux) kernel API/ABI.

Re: Node.js built-ins on Deno Deploy

#105
post #38
post #25

Earlier quoted context omitted.

I think you can analogize these server JS runtimes (Node, Deno) to browser runtimes (V8, JavaScriptCore, SpiderMonkey) and to the APIs that ship with those. When one browser JS engine invents and exposes a novel feature + API surface for it that the other engines don't, what happens? If there's any demand at all for doing what the feature does, then devs will tend to write polyfills to make the feature "work" (for so…

Just want to point out one issue in your comment -- webkit, blink would be more suitable as examples for "browser runtimes". V8 and JavaScriptCore are JavaScript engines. In other words, the page here is more about platform APIs (or maybe "standard library") rather than JavaScript language features. V8 vs JavaScriptCore vs SpiderMonkey doesn't matter to most developers because they are mostly up-to-date with ECMAScri…

Sure, but the sort of features I was referring to are more to do with things where one JS engine introduces a new pre-standardization language feature, like async/await. This used to happen a lot, before the standards got ahead of the implementation with E6.

Unlike with browser-embedded JS engines, where "what native APIs are accessible from JS" is a relevant question†, in backend JS runtimes the answer to that question is always "all of them, because they're all just C FFI libraries, and these runtimes use the same C ABI, allowing interoperation with any such library." So for backend runtimes, it's only things to do with the JS engine itself — like language features — where the differences really matter.

† And actually, browser JS engines could have gone this way as well, if NPAPI/PPAPI had caught on. The "Java" in "JavaScript" was supposed to refer to using Java applets as ActiveX-like COM servers which would expose APIs to be scripted against! In other words: a common-standard for native FFI, just with sandboxing.

Re: Node.js built-ins on Deno Deploy

#106
post #102
post #101

Earlier quoted context omitted.

Depends if one is stuck in the glory days of UNIX, or has already learnt to embrace native cloud development.

In a way, the glory days of Unix, with users using shared infrastructure is closer to cloud than using Linux locally, which gives you freedom, independence and privacy.

Not when the cloud is running servless and language runtime containers on top of type 1 hypervisors.

Zero POSIX.

Re: Node.js built-ins on Deno Deploy

#107
post #106
post #102

Earlier quoted context omitted.

In a way, the glory days of Unix, with users using shared infrastructure is closer to cloud than using Linux locally, which gives you freedom, independence and privacy.

Not when the cloud is running servless and language runtime containers on top of type 1 hypervisors. Zero POSIX.

All of the major serverless runtimes are running on top of Linux by default.

And almost all systems on AWS are running on Linux/KVM. Even quite a few that report as Xen are actually running on KVM; Amazon added a bunch of code to KVM to lie on guest hypervisor cpuid leaves as well as emulate Xens hypercall interface.

Re: Node.js built-ins on Deno Deploy

#108
post #106

Earlier quoted context omitted.

Not when the cloud is running servless and language runtime containers on top of type 1 hypervisors. Zero POSIX.

All of the major serverless runtimes are running on top of Linux by default. And almost all systems on AWS are running on Linux/KVM. Even quite a few that report as Xen are actually running on KVM; Amazon added a bunch of code to KVM to lie on guest hypervisor cpuid leaves as well as emulate Xens hypercall interface.

No they aren't, if the cloud in question is Azure, as Hyper V doesn't need a kernel to make it work. The controlling OS is a guest as well, with additional privilege.

Which happens to be a special Windows build, Azure Host OS.

https://techcommunity.microsoft.com/t5/windows-os-platform-b...

Additionally, bare bones Linux kernel infrastructure for Xen and KVM support isn't UNIX.

"Transcending POSIX: The End of an Era?"

https://www.usenix.org/publications/loginonline/transcending...

Re: Node.js built-ins on Deno Deploy

#110
post #108

Earlier quoted context omitted.

All of the major serverless runtimes are running on top of Linux by default. And almost all systems on AWS are running on Linux/KVM. Even quite a few that report as Xen are actually running on KVM; Amazon added a bunch of code to KVM to lie on guest hypervisor cpuid leaves as well as emulate Xens hypercall interface.

No they aren't, if the cloud in question is Azure, as Hyper V doesn't need a kernel to make it work. The controlling OS is a guest as well, with additional privilege. Which happens to be a special Windows build, Azure Host OS. https://techcommunity.microsoft.com/t5/windows-os-platform-b... Additionally, bare bones Linux kernel infrastructure for Xen and KVM support isn't UNIX. "Transcending POSIX: The End of an Era?"…

You know that serverless is orthogonal to unikernels, right? Serverless just means dynamically provisioning an instance in response to the load balancer seeing a request. There are no serverless runtimes I know of that don't run as relatively regular processes on a host kernel.

> Additionally, bare bones Linux kernel infrastructure for Xen and KVM support isn't UNIX.

> "Transcending POSIX: The End of an Era?"

Xen and KVM aren't equivalent here.

KVM is ultimately an interface involving file descriptors, mmap(2), read(2), write(2), etc. IMO while not being UNIX™ it still very much embodies the UNIX spirit.

Post reply on HN