Also fun fact: Windows uses a lot of COM Interfaces for API, which in my opinion often makes developing for Windows a better experience, than developing for Linux. Rust does not have anything OOP related by default, and are often emulated with macros instead, like in C.
I work for a company developing software for Windows and deal with COM all the time. How do you communicate across dynamic libraries and languages in Linux?
Linux usually just uses C API, most of which reads horribly. Libevdev is quite notorious for using files and the docs not telling you that the reading is blocking. Some additional things use C++ classes though.
Will this finally be the end of Windows?
Also fun fact: Windows uses a lot of COM Interfaces for API, which in my opinion often makes developing for Windows a better experience, than developing for Linux. Rust does not have anything OOP related by default, and are often emulated with macros instead, like in C.
That’s a crazy take. I hate com and oop with a passion. If you like com that much there’s gobject for you on Linux.
I hate everything GTK/GNOME, they didn’t even call it
gnobject.Rust has traits and reference counting which map nicely to COM objects.
By the way, the Linux Kernel is OOP. That’s a good choice for things like queues, file systems, and device drivers.
I work for a company developing software for Windows and deal with COM all the time. How do you communicate across dynamic libraries and languages in Linux?
Linux usually just uses C API, most of which reads horribly. Libevdev is quite notorious for using files and the docs not telling you that the reading is blocking. Some additional things use C++ classes though.
Could you provide a link to the documentation? It’s strange that it’s so barebones.
https://www.freedesktop.org/software/libevdev/doc/latest/