I'm probably not really qualified to voice what (little) I know on this topic, but here's what I know from what I've read:
Java seems to be more widely used and taught in schools and universities. It's more frequently updated and is arguably "newer".
Python has all sorts of capabilities including but not limited to C\C++ addon ability. But it's really all up to personal preference and what you're building.
Actually I think Python may be newer than Java.
But who cares, really?
Python is an interpreted language. Java is a compiled language.
Python is dynamically typed; Java is statically typed.
If you want to use both at the same time, there's Jython.
Python strikes me as more formally, abstractly clean. Java strikes me as something better for using in large teams. These are just gut feelings.
I've played a little with python and like its compactness and its structure. It looks to be a good programming language to learn if you are new at programming. My own recommendation (I think mentioned above) is to learn both Java and Python, perhaps one this year and the other next. You have nothing to lose.
> Python strikes me as more formally, abstractly clean.
> Java strikes me as something better for using in
> large teams. These are just gut feelings.
That's my gut feeling too. If you want to see a large python program being constructed however, check out Chandler at [url=http://chandler.osafoundation.org/]http://chandler.osafoundation.org/[/url]. Since it's open source, you can see everything and anything. The story of the creation of this organization and software was told quite well in the book [url=http://www.amazon.com/Dreaming-Code-Programmers-Transcendent-Software/dp/1400082463/ref=pd_bbs_sr_1/103-6795904-4831046?ie=UTF8&s=books&qid=1179882221&sr=8-1]Dreaming in Code[/url] by Scott Rosenberg (one of the cofounders of Salon.com). I highly recommend it.