I'm getting really tired of working against click-once and I'm wondering if there's a better alternative. I'm looking for a programming environment that preferably does not depend on the .net framework. I'm not sure how much .net does for me exactly (though I have some idea) but I'd like to make my programs as independent of downloading a microsoft or other framework. I often think of professional programs like itunes, gimp or firefox that don't require someone to have a .net framwork. I'd also like to have these programs work on windows mac and linux. Any suggestions?
You could always write your applications in Java, using the Eclipse or Netbeans IDE. Java is cross-platform so that takes care of Linux and Mac.
Alternatively, you could write your code in C or C++, and use a separate compiler for each platform. But that is more difficult because it will expose you to more (all?) of the differences in the three platforms.
What about a web app, should work on all devices. Otherwise you can use Java but then people need to have Java on their machine. Native code will be a pain in the neck sicne you then need to compile it for all different OS versions
C or C++.
If you're looking to make a program that is like gimp or Firefox, than you'll have no other good alternative. Java needs its virtual machine and web apps require an Internet connection. Though that's rarely a problem these days, it simply might not be applicable in your case. However, like the others have alluded, true platform-independence is tricky and that is certainly not less trivial in C or C++. That's pretty much why Java and .NET came to be in the first place.
You might want to look at Qt and QtCreator. QtCreator supports integration with Visual Studio, so you can continue to use the environment you apparently already like, but still produce portable results.