A Java man asked: why should I learn Python?
This may be a language troll or failure to perform basic Google search; Please rest assured that this is not the former, I hope not the latter Anyway, as a Java Developer (Se and EE) in a large company, I think my skills are a little old, and I know there has been some excitement about Python for many years, so it has always been on the list of things I think I've read O'Reilly's previous chapters on learning python. I can put some code together, and, well, I'm learning grammar
But what I lack so far is the reason
There are many lists of cool things about Python and why to learn it, such as
http://en.wikiversity.org/wiki/Why_learn_Python
Or there are some good discussions here, such as
https://stackoverflow.com/questions/203862/why-should-i-learn-python
and
https://stackoverflow.com/questions/371966/are-there-any-good-reasons-why-i-should-not-use-python
Choose a pair, but so far, I haven't found one that fits it very well I'm looking for that "uh, I see" moment. There may be some tricky things in Java that can be solved by a few lines of python, but I haven't been there yet For example, from these links
Big! But what?
Cool. I like higher productivity But what does that mean?
Sounds like me. I know I hit everything with big Java hammer But what kind of problem is suitable for Python wrench rather than Java hammer?
There are more reasons for free / portable / large libraries / powerful, etc., but all of these can be said to apply to Java You may respond reasonably. It all depends on what I want to do; I really look in the toolbox for another tool that may be used for general development activities, from coding, testing (from unit to integration), to log / trace parsing and troubleshooting in production And, eventually, if it's there, I might use it - and, alas, there's a lot of work that needs python But in order to stick to the learning curve, I really need this reason
Solution
Big! But what For example, anything related to string processing (such as web page crawling / crawling, natural language processing) should be much faster for the code in Python
Cool. I like higher productivity But what does that mean Spend more time thinking about what you want to do, rather than thinking about how to achieve it and actually do it
Sounds like me. I know I hit everything with big Java hammer But what type of problem is suitable for Python wrenches rather than Java hammers As mentioned above, plus rapid prototyping, one-time scripting, mathematics (Python has some great math libraries), web development (Django)
Some time ago I was more personal. I thought java was the peak of convenient / fast / clean coding, but until I learned Ruby and recent C #