Doporucuji nechat osobni vypady stranou.
Vas predrecnik ma pravdu mimo jine v tom, ze GNOME obsahuje spousty podprojektu, ktere jsou vyuzitelne i mimo GNOME - jeden priklad za vsechny bych uvedl Pango - kdyz chcete delat multijazycne texty v jakekoli jine aplikaci, muzete Pango pouzit - nikdo vam nevnuti nejake objektove rozhrani nebo management pameti z te knihovny. Muzete to pouzit v programu ktery s GUI a desktopem nema vubec nic spolecneho. Podobne treba glib. Nebo modularita samotneho GTK+, vznikla zavedenim oddeleneho glib a gdk.
Mozna netusite co to modularita znamena. To neni jen rozdeleni kodu do vice adresaru nebo knihoven. Modularita znamena pouzitelnost jednoho kodu v projektech, ktere s tim vasim vubec nemaji zadnou souvislost.
Proto je taky C++ zlo ktere modularite brani, misto aby ji podporovalo. Pokud totiz pouzijete nejakou knihovnu v C++, ma silnou tendenci vnutit vam svuj programovaci styl. A kdyz pak chcete pouzit jinou knihovnu s jinym stylem, jste v prusvihu. Myslim, ze delat C++ bindings k ruznym prostredim je OK, protoze jako koncovy jazyk zase neni tak spatne. Ale programovat knihovny v C++ a chtit od nich modularitu (= pouzitelnost v uplne jinych projektech nez pro ktere byly puvodne zamysleny) temer nelze.
-Yenya