4 ms·
That may be portable across languages and runtimes, but it comes at the cost of portability across platforms.
by pritambaral 8y ago
That may be portable across languages and runtimes, but it comes at the cost of portability across platforms.
- pjmlp 8y agoYou cannot have it all. Either you get a bytecode format, or a platform specific one.
- floatboth 8y agoGObject (-introspection).
- Vogtinator 8y agoQObject (-introspection).
- nickpsecurity 8y agoInteresting enough, the Vala language compiles to C with GObject's for portability: https://en.wikipedia.org/wiki/Vala_(programming_language) https://en.wikipedia.org/wiki/Vala_(programming_language) It was a clever decision. I'm not sure if the right one but a nice thing to try to see how well it works. I wonder if anyone did a "Looking Back"-style write-up on how it's worked out so far with pro's and con's.
- hsivonen 8y agoThe GTK+ and GStreamer bindings for Rust are already mostly generated code (and seem to work very well): https://github.com/gtk-rs/gir/blob/master/README.md https://github.com/gtk-rs/gir/blob/master/README.md I'm not sure what the exact status of extendin GObject hierarchies from Rust is. See https://github.com/gtk-rs/gobject-subclass https://github.com/gtk-rs/gobject-subclass
- pjmlp 8y agoIt works relatively well. I just have two complaints. The build times, as Gtk-rs seems to do code generation during the build, and the usual Rc<RefCell<item>> for accessing internal widget data on the callbacks.
- floatboth 8y agoVala is.. good and bad. (Like most things.) Certainly successful at bringing new developers into the Gtk world (especially thanks to elementary OS and its developer documentation). Familiar syntax for C# devs. The downside is, well, memory bugs. For example, sometimes perfectly reasonable Vala code results in error messages like "Unable to parse accelerator '\u0008\x8dn\u000b\u0008': ignored request to install 501 accelerators" or downright segfaults: https://gitlab.gnome.org/GNOME/vala/issues/626 https://gitlab.gnome.org/GNOME/vala/issues/626
- int_19h 8y agoThere's nothing about COM or WinRT that is inherently unportable across platforms. It's just a standard ABI, that can be expressed in C at that - so any platform that has a C ABI can have either of those implemented. It's just that never really bothered. GObject is a good example of a truly cross-platform ABI like that.