It would be nice if you could have a sort of hybrid thread/process model with the same page table virtual to physical mappings but context-switched page protections to enforce per-thread heap separation and message passing hand-off.
-
-
With PCID-tagged TLB you should be able to do that pretty easily. Maybe it's too expensive to do protection hand-off for message passing since that requires flushing the TLB entry for that, so you just leave those fully shared.
1 reply 0 retweets 0 likes -
Replying to @pervognsen @TimSweeneyEpic
Presumably this GC malarkey is happening in some new language? If so, software enforcement a la Rust seems like a nice approach.
1 reply 0 retweets 0 likes -
Replying to @ssylvan @TimSweeneyEpic
Eh, call me old fashioned, but Rust isn't my cup of tea. :)
2 replies 0 retweets 0 likes -
Anyway, I want it to be pretty agnostic of the host language and be able to interop cleanly with other languages, and this stuff really helps with that.
1 reply 0 retweets 0 likes -
I should mention, though, that all of Oberon is done without interior pointers. Bounds-checked arrays and array indices all the way. There's a direct read/write memory function escape hatch, but that's almost never used, and he wrote the OS like that.
1 reply 0 retweets 1 like -
Replying to @pervognsen @TimSweeneyEpic
The Oberon spec is a pretty amazing read. It's like ten pages for the whole language.
1 reply 0 retweets 0 likes -
Replying to @ssylvan @TimSweeneyEpic
Yeah. I know I've harped on this repeatedly, but if Wirth's way of programming hadn't become unfashionable and people still learned from his work (and he's still producing), we'd all be better off.
1 reply 0 retweets 1 like -
I read something recently from Bertrand Meyer (Eiffel) who was a colleague of Wirth at ETH and it seems they had some deep philosophical disagreements about software engineering.
1 reply 0 retweets 0 likes -
And Meyer had some shitty rejoinder like "small languages are for small problems". And I just wanted to punch the monitor.
4 replies 0 retweets 3 likes
WWWD should be the governing principle in language design.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.