Honestly, if we're talking about replacing C / C++, it would seem we should be comparing them to Rust or something, not a language whose use model isn't really intended for embedded systems.
I love Python, but this just doesn't seem like the place for it.
And by embedded, he probably meant Raspberry Pis running Debian or something like that.
Either way, thanks for the correction.
Could be a microcontroller running bare-metal code or an RTOS with application code. Could be a device like you describe above which, in some cases, resemble a PC with custom I/O requirements.
But of course, when many people talk about embedded systems (especially in the context of development) they mean the more constrained devices (microcontrollers without OS or with realtime OS, ...). That's because the others are more PC-like and therefore don't have these special requirements during (software) development.
Requirements are based on the task, not the hardware. I have written firm real-time software for multi-processor, multi-node Xeon and POWER7 systems.
If it's a standard Dell server with just some custom software and nothing else special about it, then I have a tough time comprehending why it would be called an embedded system.
If it has like a PCIe card that you can't get anywhere else. that you can only interact with the embedded software you provide. Then maybe I can see it being called an embedded system.
The difference I saw was that a customer was not supposed to interact with it as a general server. They didn't install stuff on it, interacted mainly via external devices and via a web-based config interface.
It was also configured for a specific purpose and had tweaks to kernel scheduling algorithms to provide low latency data processing.