6 ms·
When node first came out, it was pretty revolutionary. Being able to almost instantly start a JavaScript thread from a single file that could support realtime e
by barrell 1y ago
When node first came out, it was pretty revolutionary. Being able to almost instantly start a JavaScript thread from a single file that could support realtime experiences (a la socket.io et al) without a build step felt pretty paradigm shifting
- ffsm8 1y ago> could support realtime experiences Node supports realtime applications? Really? Isn't it garbage collected? Or does the term mean something different in nodejs? I've only come to know the term in the context of time guarantees (i.e. if it's scheduled to run in x, it is guaranteed to run at that time) and that shouldn't apply to nodejs I think? When you schedule something there, I believe it'll run on the first free thread after the timer relapsed - which entirely depends on the load of the system
- anon7000 1y agoRealtime in this context probably just refers to the end user experience — multiple people connecting over web sockets to the same backend and seeing the same thing in “real time”.
- Jarwain 1y agoTheres discussion distinguishing hard real-time (what you describe), firm real-time (infrequent deadline misses are problematic but managable), and soft real-time (missing deadlines aren't a big deal). Node does a pretty hood job with soft real-time.
- Rohansi 1y agoWhat games do you know that are hard or firm real-time? Real-time in this context is more like real-time communication rather than process scheduling.
- Jarwain 1y agoI think we've diverged from the game context, towards discussion "universal brain reorganizing technologies", nodejs being considered one, and what real-time means in the context of node. That said, real-time communication _is_ a soft real-time system.
- hdjrudni 1y agoYa'all are very strict in your definitions then. My definition is "does it feel laggy" or "do I have to walk away and come back when this thing is done". Basically like 24 FPS or higher is real-time. Even that'd be laggy for a game but not unplayable. I choose this specifically because that's what movies typically use and they're very watchable.
- nilamo 1y agoThat definition of real time is not good enough for things like pacemakers, where real time really does actually matter.
- beaudidly 1y ago[dead]
- bobnamob 1y agohttps://en.wikipedia.org/wiki/Real-time_computing https://en.wikipedia.org/wiki/Real-time_computing Hard real time (or just "real time" in firmware/hardware contexts) is effectively a term of art. One that's been increasingly watered down by the rest of the industry. Strict definitions matter when system failure == pacemaker missing a beat or train signalling system drives a freight train into the back of 400 passengers.
- hansworst 1y agoBut in gaming, real time means something different: https://en.wikipedia.org/wiki/Timekeeping_in_games#Real-time https://en.wikipedia.org/wiki/Timekeeping_in_games#Real-time Context matters.
- meheleventyone 1y agoIn game development we still care about the distinction between soft and hard realtime. Almost all games are soft realtime, even if the gameplay itself is turned based as we're processing user input, updating UI, animating things and so on.
- timewizard 1y agoDid they simply mean "non blocking?"
- 1oooqooq 1y agoyou're making the common mistake of assuming js devs know anything about core concepts. they are vibe coding since the beginning.
- Swannie 1y agoYeah, nah. I worked on telco grade systems running on Rhino, in interpreted mode, in 2006. Leveraging Java to JS bindings. Responding to HTTP/JMS/etc.
- cess11 1y agoHow would that differ from PHP?
- Inviz 1y agoAsync io?
- cess11 1y agoAt the time, if you needed it, and you typically didn't due to FCGI, you'd use a threading library from PECL.
- sroussey 1y agoWebsockets et al
- cess11 1y agoNode launched before Chrome got WebSocket support. Soon after Google published their own PHP WebSocket server and people had been building their own.