I work in an Windows world, but live in Linux land. I'm looking at options for learning programming such that I could code once and run that program in both environments. I know Java would work, but I'm curious if there are other options.
As I understand, most libraries are OS-dependent, so if I want to code in say C++, I have to code one for Linux based on its libraries, and a separate one for Windows with its libraries/dll's. I've heard of cross-over libraries such that I can use the same source code and just compile it on the respective system, but those didn't seem to get very good reviews.
Question is then: how do people develop the various versions of their programs? For example, Mozilla has a Linux version and a Windows version. I don't see the Java Runtime Environment logo in my system tray when I'm using it, so I assume it's some other coding language. Apache/PHP/MySQL have separate versions; granted, there are no GUI to worry about, but I have to believe other libraries would create problems.
Thanks for your comments in advance.