If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Gtk is written in C which doesn't support OOP features like classes, methods, constructors, destructors, polymorphism, inheritance
and features like templates, operator overloading
Which means that it compiles in 0.05% of the time and takes 1% of the disk space
Gtk is written in C which doesn't support OOP features like classes, methods, constructors, destructors, polymorphism, inheritance
and features like templates, operator overloading
C doesn't have direct language support (as in "syntactic sugar") for those things, but it doesn't prevent you from using (some of) them, and that is what happens in Gtk, which is based on the GObject object implementation.
(And if you want to use a language with syntactic sugar for OOP, you could always use Vala instead.)
C doesn't have direct language support (as in "syntactic sugar") for those things, but it doesn't prevent you from using (some of) them, and that is what happens in Gtk, which is based on the GObject object implementation.
(And if you want to use a language with syntactic sugar for OOP, you could always use Vala instead.)
If you use GObject, doesn't mean you use real OOP. GObject is only fake emulation of OOP using functional programming.
There is a very strange trend towards specialisation that is very new. It used to be that all distros offered tweaked KDE and GNOME desktops for the user to choose. Now it seems like each distro wants its own desktop in order to provide a certain kind of experience.
GNOME is RedHat's private desktop nowadays.
Unity is Ubuntu's desktop.
Cinnamon is Mint's desktop.
You can run them on other distros, but it's clear who does all the development and decides the direction.
Wrong. Ubuntu still uses gnome, it's just by creating gnome-shell gnome developers let canonical create their own shell not whole DE. Cinamon is same gnome. Please just because it has different name it doesn't mean it absolutely new thing...
I have never tried GObjects. But how do I identity real OOP. It is possible to create something like OOP in pure c. Many c project do that. Is that real OOP?
I have never tried GObjects. But how do I identity real OOP. It is possible to create something like OOP in pure c. Many c project do that. Is that real OOP?
Well there is no real or fake to OOP, OOP is simply the recognition that language is based upon objects and applying that to programming. That said languages can be either more or less accommodating to standard OOP design principles, which plain C isn't very accommodating for, although it is well worth noting that C++ (which is accommodating) was originally just a bunch of macros on top of C.
I have never tried GObjects. But how do I identity real OOP. It is possible to create something like OOP in pure c. Many c project do that. Is that real OOP?
Real OOP languages have keyword class or some equivalent. You can't do real OOP with C as it supports only structure which isn't class.
Comment