Is it though? At least Java has reasonably sensible semantics and something resembling a type system. Dynamically typed languages have their place, but for me - that place is not absolutely everywhere.
It's unfortunate that you see javascript, or that any engineer would see any language, that way. JavaScript is an incredibly expressive language and has a very real and beneficial place alongside strongly-typed and compiled languages.
We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms (etc.) and simply use the best tools for any given job.
> We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms (etc.) and simply use the best tools for any given job.
Well, isn't that a bit of the point the parent makes? It is not necessarily the best tool for _everything_.
(Not criticizing the project, many package managers are written in some scripting language)
It has its good part (though only 176 pages), it has its bad part, just like every other language. But let's be honest, the primary reason that javascript succeeds is that it's a major part of web. I'm not against using it for web, but using it everywhere where other (possibly superior) solutions exist is a waste IMHO.
> We ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms
I wouldn't exactly consider Operating Systems to be one of those use cases for Javascript. The flip side of knowing the use cases is knowing the limitations and understanding that "everything" isn't exactly a valid use case, which I believe is what larme was trying to say.
I do see your point, and agree there. I initially (perhaps mistakenly) read larme's comment as "everything coded in javascript is a waste."
I will say, though, that exploring the possibilities for a language is not a waste of time or mind. From stretching both mind and tool to do new things, new insight can be gained or patterns formed that might never have been considered.
Additionally, nobody ever said an OS has to be the best at everything either. It could be that a javascript-based OS, while perhaps not as efficient at generating machine code, may end up being much more efficient for humans. This would certainly be a win for many tasks such as management that should be optimized for human use.
I agree. There is too much hype going on with JavaScript.
There are a few great features in JavaScript (seamless closures, asynchronism, etc). However, JavaScript has a few flaws as of today, and even though it's one of the most widely used out there, that doesn't mean it'll work for anything. There are other languages out there!
They may not be garbage-collected, the syntax may not be straightforward, you may need to declare your functions and define interfaces, but they also have great features when you learn to use them.
Any programmer should be able to understand basic C programs and reason with pointers, know how to write simple Java classes (without an IDE) and most of all, use UNIX tools (echo/cat/grep/less at least, pipes being a plus, sed/awk/cut/diff would be perfect). These are basic skills which are taught in CS courses, but many fail to have one of these, yet blabber about Node.js all the time.
I can't imagine an idea that is worse than this. Yes, let's take a community approach to OS, fine. But relying on a language that is neither efficient nor designed with the core needs of an operating system is self defeating at best.
While I'd agree that it's not a good idea for a lot of purposes, that doesn't mean it's simply not a good idea. People will either be interested in playing with it or they wont, in which case it will simply cease to be developed, and the code will float around the Internet as an example of a cool little experiment. Either way, Node OS is not going to hurt anyone.
So, sincere question (but a little bit rethoric, i confess):
Why someone would want this instead of a Linux box with node.js + npm? i mean, it would be understandable if this was a docker image with a javascript toolbox builtin, to make the life of js devs easier, but a OS distribution?
With this you would be able to install, say, haskell or a rust dev environment, and if it does, whats the difference from a ubuntu linux with node/npm with haskell and rust?
I dont get the use-case here.. is there really a niche for this?
"Node-os is the first operating system powered by npm"
And? why is it good? why do i need it? sell me the idea! is npm something a need badly? is enough reason for a OS dist?
19 comments
[ 3.3 ms ] story [ 52.0 ms ] threadWe ought to recognize the use cases, as much as humanly possible, for all languages or frameworks or platforms (etc.) and simply use the best tools for any given job.
Well, isn't that a bit of the point the parent makes? It is not necessarily the best tool for _everything_.
(Not criticizing the project, many package managers are written in some scripting language)
I wouldn't exactly consider Operating Systems to be one of those use cases for Javascript. The flip side of knowing the use cases is knowing the limitations and understanding that "everything" isn't exactly a valid use case, which I believe is what larme was trying to say.
I will say, though, that exploring the possibilities for a language is not a waste of time or mind. From stretching both mind and tool to do new things, new insight can be gained or patterns formed that might never have been considered.
Additionally, nobody ever said an OS has to be the best at everything either. It could be that a javascript-based OS, while perhaps not as efficient at generating machine code, may end up being much more efficient for humans. This would certainly be a win for many tasks such as management that should be optimized for human use.
There are a few great features in JavaScript (seamless closures, asynchronism, etc). However, JavaScript has a few flaws as of today, and even though it's one of the most widely used out there, that doesn't mean it'll work for anything. There are other languages out there!
They may not be garbage-collected, the syntax may not be straightforward, you may need to declare your functions and define interfaces, but they also have great features when you learn to use them.
Any programmer should be able to understand basic C programs and reason with pointers, know how to write simple Java classes (without an IDE) and most of all, use UNIX tools (echo/cat/grep/less at least, pipes being a plus, sed/awk/cut/diff would be perfect). These are basic skills which are taught in CS courses, but many fail to have one of these, yet blabber about Node.js all the time.
Yes: JavaScript isn't necessarily the best tool for the job, but so what? Fun hack. I'm not sure it's the future, but maybe it could be? Why not.
Good luck!
https://news.ycombinator.com/item?id=7061338
https://news.ycombinator.com/item?id=8275426
https://news.ycombinator.com/item?id=7877777
https://hn.algolia.com/?q=node%20os
Why someone would want this instead of a Linux box with node.js + npm? i mean, it would be understandable if this was a docker image with a javascript toolbox builtin, to make the life of js devs easier, but a OS distribution?
With this you would be able to install, say, haskell or a rust dev environment, and if it does, whats the difference from a ubuntu linux with node/npm with haskell and rust?
I dont get the use-case here.. is there really a niche for this?
"Node-os is the first operating system powered by npm"
And? why is it good? why do i need it? sell me the idea! is npm something a need badly? is enough reason for a OS dist?