1. Yes, Microsoft took Java and copied much of it to produce C# but unfortunately they also locked C# to the Windows platform rather than carry forward one of Java's greatest benefits - cross platform compatibility.
. . .
4. I think you will find that Java (and C based languages) will last a little bit longer than a "few years"... Java and C are still pretty much neck and neck at the top of the demand charts with the proprietary C# and VB a considerable distance behind. See the tiobe index for, and admittedly rough, guide.
Another small point to note - if you go with the Microsoft .Net tools then you are pretty well tied to Windows and practically tied to Visual Studio as your IDE. If you go with Java (and many other open languages) then you have a wider range of choices of platform and IDE. Personally I hate going back to Visual Studio after using Eclipse as VS is so clunky and crashes too often.
Sorry to appear argumentative but I felt your post was a rant against Java rather than something which the OP could benefit from.
Craig.
As someone who did most of his work for a course in C#/.Net 3.5 from tools native to a MacBook Air, I have to challenge your statements regarding platform-locking and .Net. I will agree that there is a lot that Visual Studio makes easier, I wrote a lot of C# using TextMate with a C# highlighting plugin, and the Mono project. All of the output files ran just fine when I copied the .exe files to a Windows machine. They also ran pretty well on my MBA, using Mono as a runtime.
Yes, there are libraries that aren't implemented. For the most part, that won't matter to someone 'new to programming', as WCF/WPF are fairly advanced areas, and WinForms works pretty well in most cases.
I do agree that C/C++/Obj-C/C# are going to be around for a long time... performance of the scripting languages is relatively abysmal(I wrote a raytracer in PERL once, I know whereof I speak), and there are plenty of issues surrounding distributing code in plain-text from a commercial standpoint.
The comment about distributing the java runtime (by wrldwzrd89) was pretty pointless too, as every Mac has a java runtime on it, most have at least 2-3, and most windows machines eventually have one too. There's no need to distribute the runtime, it's already out there. That is more of a problem when it comes to less common languages... like Python.
As to Java vs. Python for learning? Go with Python. You'll at least get the basics of functions, variables, and control structures, and without having to worry as much about a build process. After you're quite comfortable with what you can do there, move to a more structured language like Java/C# or one of the OO C variants, C++/Obj-C. They all have slight differences in how they handle classes, objects, and method calls, but pick one and learn to do everything you could do in Python, in the new language.
As for IDEs... some syntax highlighting and brace-matching are useful, but when you get to the point of VS.Net, it's doing so much for you, and smothers you with complex option panels, that it's hard to figure out just what is going on sometimes.