Why D?
PowerNex: a kernel written in the D Programming Language
31–40 of 79 posts
Re: PowerNex: a kernel written in the D Programming Language
#32Earlier quoted context omitted.
It sounds you like you asking for more toy OSes. Supporting POSIX is necessary if the designer wants the OS to run real software.
I'm pretty sure the software that requires an OS that runs POSIX software is sufficiently catered to. You have your Linuxes of every sort of flavor anyone could ever want (ranging from LFS/Gentoo Stage 3/Arch for the tuners and minimalists, to the 'I want to have Docker/git at my OS level' NixOS-esque machines, to the Ubuntu's for the "anything-but-Microsoft" demographic. (Not to mention, your BSDs, your QNX's (+3 or…
There is no value in making clones the C runtime library.
POSIX is just the part of UNIX that was left out of ANSI C, only usable for command line and daemons written in C.
Other language runtimes don't really depend on POSIX.
Re: PowerNex: a kernel written in the D Programming Language
#33What's the kernel design here? Is it monolithic like linux?
It appears monolithic. There's actually very little content about what it's design goals are, what it's trying to accomplish, or even what interfaces it'll support. I'm assuming POSIX because everyone loves to re-write UNIX and there is a boat load of documentation/implementations and most of these are monolithic.
Re: PowerNex: a kernel written in the D Programming Language
#34Earlier quoted context omitted.
Hehe, I saw a talk with the creators of Rust, D, C++ and Go. No one of the "older" fellas even knew the Rust guy and I don't even know anymore who he was, was it Hoare? Maybe. C++ was about "We get things fixed, I promise!" D was about "We get shit done!" Go was about "We are good enough!" Rust was about "We try new shiny things!"
One of the reasons that "Rust" is the name is that Rust _doesn't_ try things that are "new and shiny." Or rather, it depends on where you come from: coming from the PLT perspective, many of the ideas in Rust are pretty old, but if you come from industry, they seem very new. (Also, the person who was in the video you're talking about was Niko Matsakis, not Graydon. And it was August 2014, so, so much has changed with…
Well, I don't know about how long any of these "ideas" were around somewhere buried in academia. What counts is that Rust tries things differently than Go, D or C++, so it's "new" in terms of an "implementation in broader use"
I think you guys are going the right way :)
Re: PowerNex: a kernel written in the D Programming Language
#35Will someone with familiarity with both Rust and D talk a bit about the similarities and differences?
Andrei Alexandrescu, one of chief architects of D answered this a while ago on Quora [1]. IMO, this is a fair and nuanced answer. [1] https://www.quora.com/Which-language-has-the-brightest-futur...
> 10x better theorists. Of the three, Rust is the only language with world-class PL theorists on roster. This can be seen in the precise definition of the language and the depth of its technical approach
This argument impressed me. I'm sure Walter Bright does account for a fair share of D's popularity, though, so I take the 10x to mean in numbers :)
Re: PowerNex: a kernel written in the D Programming Language
#36Earlier quoted context omitted.
Hehe, I saw a talk with the creators of Rust, D, C++ and Go. No one of the "older" fellas even knew the Rust guy and I don't even know anymore who he was, was it Hoare? Maybe. C++ was about "We get things fixed, I promise!" D was about "We get shit done!" Go was about "We are good enough!" Rust was about "We try new shiny things!"
I'm not under the impression that all that much of what Rust does, besides borrow checking, is necessarily all that new. Aren't most the other things from other languages that have used them to good effect?
But look at the functional stuff. I mean how much of this is really in broad use?
Yes at the moment there seems to be a functional renaissance, but before that 90% of the programmers around the world tought of stuff like Haskell or OCaml as crazy academical experiments.
Re: PowerNex: a kernel written in the D Programming Language
#37Earlier quoted context omitted.
I think this is a valid question. They're pretty different languages in terms of design, but they're definitely worth comparing—their problem domains do overlap in spite of design differences. I've used both, but can't claim to be much of an expert in either. Similarities: • Compile to fast, easy-to-deploy native code • Abstraction continuum ranging from very low-level C-like style to a high-level more functional sty…
D's GC really could use some love, but they are working on it this year's GSoC. As for using GC in a systems programming language, even last a few days ago we had the links from Xerox Star. Originally developed in Mesa, which eventually became Cedar, that made use of GC. Also the whole set of ETHZ Oberon workstations. And many other experiences. The oldest I can find is a Flex computer system developed by the UK Roya…
I did say D is unsuitable for real-time and soft-real-time programs, OS or otherwise. You can't write an RTOS in D.
Re: PowerNex: a kernel written in the D Programming Language
#38Earlier quoted context omitted.
It sounds you like you asking for more toy OSes. Supporting POSIX is necessary if the designer wants the OS to run real software.
Do you consider the Xerox Star a toy OS versus what UNIX was capable of doing in 1981? Do you consider iOS, Windows, ChromeOS, Android, IBM i, z/OS, Unisys MCP toy OSes given their architecture and minimal use of POSIX? POSIX only defines the necessary to write CLI and daemon software, nothing more. What I consider real software is a bit more than that. I never felt the need for POSIX when I am not using C.
Maybe he did not want to do OS interface research.
Re: PowerNex: a kernel written in the D Programming Language
#39Earlier quoted context omitted.
D's GC really could use some love, but they are working on it this year's GSoC. As for using GC in a systems programming language, even last a few days ago we had the links from Xerox Star. Originally developed in Mesa, which eventually became Cedar, that made use of GC. Also the whole set of ETHZ Oberon workstations. And many other experiences. The oldest I can find is a Flex computer system developed by the UK Roya…
I didn't say D wasn't suitable for writing OSes. Might as well throw Singularity into the list of GCed operating systems. I did say D is unsuitable for real-time and soft-real-time programs, OS or otherwise. You can't write an RTOS in D.
As for RTOS, maybe you eventually could assuming future major improvements and compilers like the Atego JDK, but there is little to gain versus what Ada, SPARK and eventually Rust already offer today.
Re: PowerNex: a kernel written in the D Programming Language
#40Earlier quoted context omitted.
Do you consider the Xerox Star a toy OS versus what UNIX was capable of doing in 1981? Do you consider iOS, Windows, ChromeOS, Android, IBM i, z/OS, Unisys MCP toy OSes given their architecture and minimal use of POSIX? POSIX only defines the necessary to write CLI and daemon software, nothing more. What I consider real software is a bit more than that. I never felt the need for POSIX when I am not using C.
My point is simply this: maybe the author wanted to write an OS that he could use on his PC without rewriting all of his programs. Maybe he did not want to do OS interface research.
Writing a research OS in D/Rust seems to me like someone claiming (before Tesla/LEAF were released) "electric motors are better for cars! Electric cars are superior to gas-powered cars!", but then instead of making an electric car that's actually comparable to a gas-powered car, they build an electric tricycle (velomobile) out of mostly bicycle components that weighs 40 pounds and seats one person and has a custom carbon-fiber fairing and a max speed of 30mph. Yeah, it's nice that you can build that, but it doesn't prove the assertion at all, because the vehicles are totally dissimilar and incomparable.