Python is my language of choice for most things. That being said, it's not really a good choice for text processing (that is, using regular expressions) or glue scripts - I find Ruby to be an excellent successor to Perl for those.
For anything that I expect to be maintained, especially by someone else, I tend towards Python, though, because the language seems geared towards that. Significant indentation is nice because your code does what it looks like it does. Docstrings are a godsend. The approach to modules and namespaces is quite helpful. Named arguments to functions prevent silly ordering mistakes.
I just finished writing up my thoughts on this in a bit of a longer form. You can read them at http://changedmy.name/2011/02/16/why-pythons-modules-are-bad... , if you like. I'm well aware that I'm not the best writer, nor am I the most educated or experienced person in this field, so any criticism is welcome.
For anything that I expect to be maintained, especially by someone else, I tend towards Python, though, because the language seems geared towards that. Significant indentation is nice because your code does what it looks like it does. Docstrings are a godsend. The approach to modules and namespaces is quite helpful. Named arguments to functions prevent silly ordering mistakes.
I just finished writing up my thoughts on this in a bit of a longer form. You can read them at http://changedmy.name/2011/02/16/why-pythons-modules-are-bad... , if you like. I'm well aware that I'm not the best writer, nor am I the most educated or experienced person in this field, so any criticism is welcome.