|
|
Subscribe / Log in / New account

Unix sockets

Unix sockets

Posted Dec 27, 2024 22:43 UTC (Fri) by khim (subscriber, #9252)
In reply to: Unix sockets by kleptog
Parent article: Systemd improves image features and adds varlink API

> The flaw is that the Actor model is dependant on a shared-nothing threading style, and that just not how most developers have been taught to code.

Not even remotely close. The idea of Google Fibers is to have all your typical async/await machinery (channels and select are provided, among other things) while simultaneously using code that uses normal synchronyous API, normal synchronyous Mutex, etc.

Completely sidestepping two color functions problem but working only on kernels with appropriate syscalls.

> I really don't see how Google's ideas are going to gain any traction.

They already are gaining traction… except they use entirely different foundation. The one that requires rewrite of literally everything… but doesn't require any changes deep in foundations of your OS.

That's why I brought them into a discussion of why things have stayed that way even after the original reasoning were no longer relevant: simply because development of software works very similar to evolution.

This approach even has a [pretty cryptic] name: open-closed principle – software entities should be open for extension, but closed for modification.

99% of time of time we only add kludges on top of the kludges with only [very rare] situations where something is ever changing deep in the foundations of the existing design.


to post comments

Unix sockets

Posted Dec 28, 2024 13:53 UTC (Sat) by kleptog (subscriber, #1183) [Link]

> Not even remotely close. The idea of Google Fibers is to have all your typical async/await machinery (channels and select are provided, among other things) while simultaneously using code that uses normal synchronyous API, normal synchronyous Mutex, etc.

That's disappointing. The Actor model doesn't require async/await (Erlang doesn't have it) so I was hoping you could avoid that altogether and do everything synchronous.

(Internally Erlang ofcourse uses something like select(2), but the language doesn't need it.)


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds