Re:The State of Go
by nickpsecurity on Wednesday May 27, 2015 @03:14PM
(#9613640)
Good points. People often forget GC languages were often used to write OS's and system software even on constrained devices. A number of languages, such as Modula-2 and Ada, offered the ability to go unsafe in certain modules out of necessity but with safe interfaces. So, where Go or Rust can't cut it, language developers can just use a feature like that (or inline assembler) to solve those problems until the language itself can.
Additionally, they can do what PL/S and certain Ada's did where specific modules were transformed by the compiler differently based on their needs. One might have total safety, one no safety, one a GC'd runtime, one a non-GC runtime, and one no runtime at all. Still using the same language and tools for everything, albeit subsets in some modules with extra worries.
Re:The State of Go
by steveklabnik on Wednesday May 27, 2015 @12:22PM
(#9612428)
Yeah, but at least with XOmB, we weren't actually _using_ the GC, as you can turn it off in D.
Thanks for the heads up.
Although given my Oberon knowledge, I would say that was more a consequence of D's GC implementation quality than anything else, right?
On Oberon and all the derived OS, the Kernel module was the only one where GC wasn't used, as it needed to be implemented somewhere.
All the other modules enjoyed access to an OS wide GC.
Re:The State of Go
by steveklabnik on Wednesday May 27, 2015 @04:53PM
(#9614260)
Well, it was really just that we didn't get that far, I guess. Mind you, my friends did much more of the work than I did, but like most student hobby projects, at some point, you just stop working on things.
Xomb, Mesa/Cedar, Oberon, SPIN, Singularity were all written in GC enabled system programming languages.