Thanks for the link.
Learn java for applications (large, web apps or stand alone)
Learn python for quick and dirty applications, esp, low level apps
Use them both, but python is quick and nimble
Java will protect you from yourself
One is not better than the other, they are both tools in your toolbox. Learn both
You know Steve... I'd love to learn all of them since I move to move out this crazy company I'm working on. Saying to be R&D and still using not old but older and clumsy tools, with unskilled people, difficult daily management, ... it's making me crazy, also because there are "so many things to do" that there is not even time to think about "R&" but only "D"...
So, being at least a bit aware of all those languages should help me be a bit more "agile" in finding a proper new job.
Think Stats - free book on learning statistical programming with Python.
Head First Python is a nice introductory book on learning Python, including a quick look at using it with Google App Engine.
Programming Python (4th edition) is probably the definitive book on how to do stuff with Python's huge range of libraries (4th edition assumes you're using Python 3).
There's also an interesting new book Machine Learning In Action by Peter Harrington, which uses Python to explore various techniques for data mining and machine learning.
Python seems to be quite widely used for scientific applications (and increasingly for some financial applications e.g. in the City of London), and it is often available as a scripting language within tools for particular domains e.g GIS. It also pops up in odd places e.g. I've seen it used in WebLogic setup scripts, and it is often used for sys admin tasks as it gives you a platform-independent way to do clever stuff with the various Python libraries. Also, Python is being taught increasingly in the universities as a first programming language, so I suspect we will see more interest in using it, especially outside traditional IT departments, in future.
Finally, if you're finding the indentation too much work , try using a Python-aware editor e.g. PyDev for Eclipse, or a simpler IDE like PyScripter, which will indent your code for you. And of course, lots of text editors can be configured for Python as well.
What I like best about Python are the libraries that emulate unix commands for working with the file system. Taken together with Python's robust and efficient syntax (and excellent regex implementation), these libraries are so much nicer to work with than either bash or java for writing utilities that manipulate files and their contents. I don't care to use Python for enterprise-level applications, as I like the features that derive from java's static typing. To get the best of both worlds in a java-centric context, groovy is also nice.
today's feeble attempt to support the empire
professionally read, modify and write PDF files from Java