Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by majewsky on Sunday May 08, 2016 @02:26PM
(#11655088)
> So you teach grep to take an IDL file, invoke an IDL compiler and dynamically load the parser for the protocol in question. Also, if the broker were a standardized, perhaps in-kernel component (dbus, kdbus), you could attach "idlgrep" to any process to trace its calls.
So you introduce a huge load of accidental complexity because the text interface has some perceived inefficiency? I'll choose simplicity and accessibility over this mess anytime.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by digi_owl on Monday May 09, 2016 @03:24AM
(#11658119)
Ok, now i am confused. On the one hand you rail against complexity, while on the other you favor systemd.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by majewsky on Monday May 09, 2016 @05:24AM
(#11658471)
Yes, systemd is complex. But much of its complexity is justified. I rail against unnecessary complexity.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by gaius on Sunday May 08, 2016 @01:04PM
(#11654727)
Heh, you will only be able to openly advocate IDL once the last CORBA programmer is dead. We've been down that route. It didn't work.
Re:Posix Abstractions in Modern Operating Systems: The Old, ...
by pjmlp on Sunday May 08, 2016 @02:29PM
(#11655105)
It is called REST and micro-services nowadays.
That's why we have IDL -- interface description language for RPC calls. An IDL-to-X (usually C) compiler generates the necessary glue so that anybody can talk to the program in question. IDL is also the basis of MS COM, which I quite like from the design standpoint.
> The usefullness of tools like grep or sed would drop drastically, and we would fall back to big blobs of software.
So you teach grep to take an IDL file, invoke an IDL compiler and dynamically load the parser for the protocol in question. Also, if the broker were a standardized, perhaps in-kernel component (dbus, kdbus), you could attach "idlgrep" to any process to trace its calls. You wouldn't be restricted to pipes.
> Since I'm just passing data, do I really need the behavior attached to it? How would state persistence be handled?
The parent's wording was a bit unfortunate. You can have interfaces and interface inheritance and versioning (the "OOP" part), but there's no behavior send between processes.
> With object how many "translator" (C in the example) would you need to acheive the same result?
Exactly one: the IDL compiler.