Node, Python, PowerShell, and the rest do (almost) just that. launchd and systemd famously strived to remove as much shell from the start up process as possible because it was harming boot times and introducing unpredictability.
CPython doesn't usually create subprocesses unless specifically asked to, it loads Python modules and native extensions into its process. The former is similar (you're still extending an existing process with new code, just interpreted), the latter is literally dlopen(), so loading dynamic libraries.
A lot of other Python implementations don't have the ability to spin up new processes at all too.
Bash as an interactive tool is very different. It is used to run an almost arbitrary number of things, and a pretty low rate.
Bash as a programming language is just a bad idea.
Node, Python, PowerShell, and the rest do (almost) just that. launchd and systemd famously strived to remove as much shell from the start up process as possible because it was harming boot times and introducing unpredictability.
I don't know Node or PowerShell very well, but I'm not sure what you mean by this with respect to Python.
CPython doesn't usually create subprocesses unless specifically asked to, it loads Python modules and native extensions into its process. The former is similar (you're still extending an existing process with new code, just interpreted), the latter is literally dlopen(), so loading dynamic libraries.
A lot of other Python implementations don't have the ability to spin up new processes at all too.
1 reply →