As an experienced programmer (mainly Java & C#) and having taught computer programming (C#, C, ActionScript**) to high school students, I’m now considering learning Python, so I have listed my reasons as to why I’m going to learn Python;
- In the way of research I found Python & Java : A Side-by-Side Comparison which has now redirects to Python Conquers The Universe. This series of articles provides excellent explanations of why Python is better than Java and the author gives some good examples as well.
- It’s used in Blender, the 3D animation tool I use.
- There is Jython: Python for the Java Platform, which translates as “from Python source code to Java Bytecode” *
- “Python makes it very easy to just Get Things Done.” * . This I suspect would make it easier from a teaching perspective for a class to learn the fundamentals of programming.
- There is PyGame, android-python27, python-for-android, and android-scripting. All of which allow the creation of programs on mobile devices (ie phones, tablets, etc)
Useful resources for Python;
All of the above been said Java is still useful to know;
- As it is a building block or stepping stone to learning C/C++. Mainly because it is part of the same family of languages.
- It is used with the cross platform mobile development tool Libgdx.
- Java can be translated into Python with java2python. Read:Automated Translation of Java to Python
There is also C#;
- “Python vs C# decision has all the same points as the Python vs Java decision.” *
- “there is a reason C# is popular: it is pretty much Java for C++’ers.” *
* Quotes from After C++ – Python or Java? [closed]
** Note: I know some programmers think at Flash’s ActionScript is not a real programming language, but it does meet the definition.
Overall, I will invest some of my free time from the next 6 months in learning this and trying to testing the reasons I have given above. This article is really just an abbreviated PMI (Plus-Minus-Interesting see this or this) to outline my own thinking and wither I should do this. Some of the things I have no listed include prior experience with programming which means I don’t need to learn the basics again, or that the time might be better spent elsewhere.