"Node is not a perfect language by any means..."
'Node' is not a language by any means.An OS's main job is managing hardware resources, and either Javascript/Node is too high level, or the abstraction needed to give it access to those resources will come at too high a cost to make this a usable operating system.
"Node is not a perfect language by any means, but..."
Also, Node is a framework, the language is Javascript.
Edit: ah, it currently resides inside the Docker-Node repository: https://github.com/NodeOS/Docker-NodeOS
If this was to be a shell, I could see it being useful... There are a few similar projects out there. Though I'd suggest a language like Ruby, as I believe it makes for nicer DSLs than Javascript.
As well, I'd be afraid of Google and betting on V8 for long term support, or non-breaking API changes that cause the "OS" to shit the bed.
No, just no.
I'm just trying to understand the reasoning behind this. What do I gain by using NodeOS instead of a regular linux distribution?
In many ways, it's a throwback to the old days of Lisp machines. Entire OS in a dynamic language, extensible at run-time, etc...
With the many languages that compile to JS (and now Asm.js) this could be huge and very interesting.
My beef is not that the author is playing around with using an actually pretty awesome dynamic language as an operating environment; it's that the author doesn't explain that what they're doing is actually, you know, an operating system.
How are you booting? How are you writing to the file system--and which? How do you handle multiple users? How do you handle device IO? How about scheduling?
I want so badly to be able to take projects like this seriously, but it can be hard sometimes.
EDIT:
Ah, so, this is just Node sitting on top of Linux ( https://github.com/NodeOS/Docker-NodeOS ). Would've been nice if that was mentioned in the article.
EDIT2:
Hmm...what's the word for it when the OS suspends your program while waiting on IO for it...a sink ro nose? a sink rose? Bah, I can't remember--that's just old boring shit from the dinosaur ages of computing anyways.
http://stackoverflow.com/questions/14429203/inter-child-proc...
Also, syntax != V8 engine performance.
Not saying the Canadian way is better, it's just interesting.