I would really like to hear your insights about the pros and cons of Ada 2012 and for even more critical contexts SPARK (The Ada subset not the Java framework).
Also from your experience do you have any insights on were would Rust outshine Ada?
Microsoft to Explore Using Rust
Ahh they are looking at Rust next.
> In our next post, we’ll explore why we think the Rust programming language is currently the best choice for the industry to adopt whenever possible due to its ability to write systems-level programs in a memory-safe way.
One is a language that you can write an OS kernel in, including the memory management subsystem. Go probably doesn't fit that bill very well. It might be possible, but it probably wouldn't be your first choice.
But there's more to the OS than a kernel. There's drivers, and there's utilities. You can write a lot of the utilities in go. That's another definition of a "systems programming language". You wouldn't write "ls" in Python, but you could write it in Go quite easily.
Finally, people sometimes use "systems programming language" to mean a language that you can write large-scale software in. Is one of Google's services a "system"? Yes, by at least some definitions. A language that lets you write such services (such as go) is a systems programming language by that definition.
Lisp has a garbage collector, and yet you can use it for operating system development: https://github.com/froggey/Mezzano
Go has a garbage collector, and yet you can use it for operating system development: http://lsub.org/ls/clive.html
ETHZ had their Oberon workstations servicing the complete CS department for around 10 years.
Midori powered part of Bing during its high time.
Don't mix technology capabilities with politics and budgeting.
And yet despite their early popularity they died of.
> ETHZ had their Oberon workstations servicing the complete CS department for around 10 years.
I don't consider something running in a CS department as a success. CS department run all kinds of wacky shit. That's basically why they are there.
> Midori powered part of Bing during its high time.
An OS that runs a single application in the real world. That proves nothing.
You haven't convinced me that a production grade OS implemented with a GC can tick every box an OS which doesn't have a GC can tick.
On the contrary actually. For all the experimentation that has been done not a single one has actually panned out. The possible programs you can create that have a GC is a subset of all possible programs that can be created without a GC.
I guess we always have to wait for them to develop top technology before the masses accept it.
That said, you're right that Java itself probably doesn't tick that box (except on hardware specifically designed to emulate the JVM; most "Java" OS projects use a small JVM written in a less-VM-dependent language), but Go provably does.
So with enough effort given external Assembly written functions and compiler specific language extensions and enough market share thanks UNIX clones, many mistake it as the only true way.
Stupid is not being open minded how the future might look like, how great researchers like Alan Kay envisioned the future of computing without constraining themselves to what others thought of them, we don't need faster horses.
A big thanks to all inventors and entrepreneurs (this is HN after all) that were able to build on top of endless failures from previous generations and deliver technological achievements that mankind is now able to enjoy, persisting on their endeavours, while a large majority was downplaying all their efforts.
Implying a language with a GC can go 10x as fast as a language without one. What are you smoking man I want some of that stuff.
What I just wrote is not a slam-dunk argument against OSes dependent on GC, but it is at least evidence against them -- even if decisions on which OS to use are usually political decisions.
Or Astrobe selling Oberon boards for around 15 years now.
Or we can just keeping using UNIX clones, no need to waste money on improving the status quo.
There's some assembly in there, but it seems to be mostly Go.