JS is an amazing language that can do everything from adding two numbers together to powering full blown operating systems.
There's really nothing quite like it!
^^^^^^^^^^^^^^^Which ^^^^^^^^^^^^^^^is ^^^^^^^^^^^^^^^probably ^^^^^^^^^^^^^^^for ^^^^^^^^^^^^^^^the ^^^^^^^^^^^^^^^best...
> nodeOS
I can't decide if the project is legitimately meant funny or not... On the other hand, some programmers go long ways for practical jokes. Even if it means to write a new OS.
> can we build an OS from Python
Sure, I don’t see why not. Should you build a language in Python? No, probably not. People have built OSes in high-level languages though: https://node-os.com/ https://github.com/froggey/Mezzano
And probably plenty more.
What language should you use today? I’d say Rust. The Linux kernel is obviously written by incredibly smart people, but programmers make mistakes. Google has a project to identify bugs in the Linux Kernel and found that over 70% of them are memory issues or data races. Mozilla, Microsoft, and many other companies have said the same things about their C/C++ code bases. However, these issues are, by design, impossible in Rust. Rust’s unique ownership model makes data races impossible and allows it to properly free your memory without the need for programmers to do it manually like in C/C++ and without the use of a garbage collector like all high level languages. And Rust is just as fast as C/C++ and sometimes faster, while still being a higher level language.
If you want to learn a low-level language or make an OS today, consider Rust over the traditional choice of C/C++.
this is why nodejs is winning, nothing is marked as unstable and unavailable
I think you have a thing or twenty to learn from the nodejs community
you should look into adopting and enforcing a strict code of conduct, the nodejs community is way ahead in preventing a toxic environment
and I think maybe implementing something like a complete operating system like https://node-os.com/ would be nice to show that your language isn't just another toy language that isn't useful outside of academic hello world exercises
lastly, you should probably create a proper package manager like npm, which is way superior to apt when it comes to failing to handle dependencies properly
I think these things together might allow you to attract more experienced ~~graybeards~~ bear metal developers instead of just frontend web hipsters
> or has some 10xer come up with a kernel written in Go or JavaScript?
Javascript is a bit lacking, with only a JS-based userland, but there is a kernel written in Go. Then, surprising no one, some brilliant mind decided to rewrite it in rust.
Not a kernel, but there's NodeOS. It uses NPM as the package manager, Node.js as the userspace runtime, and a Node.js REPL prompt as its "shell"; the only non-JS component is the Linux kernel itself.
There propably is already a js implementation. See Node-OS if you want to have a good laugh.
My advice to OP: don't ask what you can't do with JavaScript, ask what you can't do without it.
Well, some people don't care about that. I present to you Node OS.
I'm not sure why but I admit I haven't spent much time studying it. So let's say I'll give it a small benefit of the doubt.
I mean... there's an OS made with JavaScript. I probably wouldn't recommend writing your OS in Java, but its possible (and probably way less of a pita than writing one in js).
It's all irellevant already as the syscalls of the OS of the future will be of the new Promise((resolve, reject) => {})
variety anyway, and the only ISA that matters will be an infinite stack machine.
Hmmmm
Sounds a lot like Elon Musk Project.
Seeing that we already have Node-OS we should expect TinderOS and NEST before this is a finished project.
Aw no man this would be so cool to see. The closest that we've come to this (as far as I'm aware) is the node-os project. Need to look into this C# operating system because I also remember hearing about it but I can't remember what it was either. What is Include OS?
Also, the alternatives to Rasberry PI's are getting good.
E.g. the New Minnow Max coming out has an m.2. slot on it. Which you could load up with a Samsung EVO Pro m2. drive....
http://www.adiengineering.com/products/minnowboard-turbot-duale/
It has 2gb DDR of RAM and an Intel Atom Processor.
So very soon it will very realistic to create web farms on things like these with minimal os's.
Shoot there's even a Node Based Linux OS in the works "Node OS" https://node-os.com/
If you want something now you can get the ODROID XU4 and it's adapter that allows you to use an SSD on it.
Again I'm only mentioning these things because they are highschool kids, limited on cash, and they can make something work with setups like these as prototyping tools for very little money.
> some few web backends
Firstly, JS is used more frequently for back ends than both Python and C++.
> You'll never see an operating system, compiler, virtual machine, database, or any other major project in JS and that's a fact.
> C++ is used in all of those domains and more. So too are Python, Haskell, and pretty much any language designed to be general purpose.
Now, you may well point out I'm being pedantic; just because those things exist doesn't mean anything other than that they exist.
But the reason I do this is to point out how silly your argument is - that "number of domains used in" is somehow a good metric for e.g. how worthwhile a language is to learn - because I can trivially find counter-examples for all those points.
And Javascript has one massive "advantage" over other languages: it is the only language that browsers can interpret. You cannot write a front end in C++, unless you transpile that C++ to JS. You cannot write a front end in Python - same deal.
JS was designed for website scripting, but has now with project like node been expanded into a full general-purpose language. By contrast, no general-purpose language in the world can be used on web front ends.
And here's why that matters: the internet is huge. We're reaching a point where most end users use their computers primarily to launch a browser so that they can consume content on the web. That makes JS arguably the most important language in use.