When writing programs in Linux, how does one develop across distributions? From a short investigation, I'm thinking that Linux programs fall under two categories: those developed for GNOME and those for KDE. Am I right in this assumption? If so, which is preferable? From what I've read, it seems that GNOME is more preferred over KDE, and I'm running Fedora 7 through GNOME, but I'd rather support more systems than my own of course in future developments, so I'd like more input! :)
If not a GNOME-KDE split, is it based on the windowing system (such as X)? If, then, would I merely need to develop a program to run under the X windowing environment?
If nobody here is too knowledgeable about developing for Linux, that's understandable and OK; I plan to read a couple of books soon on the very topic of developing for Linux, and so I'm hoping that I can make future applications compatible with Linux and Windows. I was just hoping to get a head start into research if anyone knew so much. :)