As others said in "real-time" programming it comes in very useful especially when working on large-scale problems.
Not to derail the thread, but I like to learn Microsoft Languages - WPF(.NET), C#.NET, XAML
I suggest you learn WPF(.NET) with C#. WPF consists of XAML as UI styling (Easy to understand if you understand HTML), and the backend being C#.
If you understand Java\C++ OOPS you will have no problem with the C#.
I completely agree with OrionMaster if you want to lock yourself into Microsoft only development.
Seeing as Cronnoc was wanting our advice on if he should learn a second language with his interest in Python, you are wasting your time recommending languages as it is obvious he has one decided already :P.
As for a python IDE if you like Visual Studio they have a python extension that is actually very good (Debugging, Syntax Highlighting, Code Completion, ect) and I am surprised it isn't really well known as a python IDE. You can get it here http://pytools.codeplex.com/ or through VS itself.
As for the space delimited scope I was the same exact way until I got more used to it. After that I found it to be actually much easier to read the code without all the unneeded symbols floating around. But I guess this comes down to personally preference.
@Computergeek01 Every language has negatives, but it defeats the learning process if you avoid a language due to the negatives. After all, C++'s negative is its steep learning curve (just to scratch the surface). Though, what you call a negative, I have no problem with.
Since no one has said anything negative about Python
Well, if you insist.
If you loaded a bunch of RFCs into a shotgun, pulled the trigger, and sent someone to pick up the pieces at random, you would get a document that's slightly better than Python's documentation. I understand that types in Python exist in some nebulous topos ouranos that the mind can't comprehend, but why is it so hard to know with certainty whether passing the return value of one function to another will throw an exception? Why am I not allowed to know how long it will take to append something to a  (whatever structure that is)?
I'm not at all fond of the inconsistent memberness of various functions. len() is, I think, the worst.
I also find Python very annoying. Although I do think it's a winner for prototyping, automation, RAD tools and simple stuff, I don't think it scales well with large projects, and it seems like, for a lot of its features, they thought "How can we add x feature from other languages without actually extending the language at all?". Take private or file-static identifiers for example: "Just stick an underscore in front of it and then people will know not to use it". Any attempt to fix its limitations seems to be constrained by the very same limitations they're attempting to fix and in the end it just feels like an inconsistent mess of a language that was sort of sellotaped together.
If you're really interested in learning something different, go with a functional language like Haskell or one of the dialects of Lisp. They're easier to learn early on when you still expect programming languages to feel weird. Once you've learned a few imperative languages, you begin to expect to master the syntax of any new language in a matter of hours because you know that ultimately you're just relearning C and secretly you feel like you could implement the entire new language with preprocessor macros. Learning functional languages only gets harder the more knowledge you have of imperative ones because after a few years you'll have memorised various ways of solving various problems which are all basically impossible in a functional language because you can't modify any variables after you've declared them.