Should I learn Python?

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;

  1. 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.
  2. It’s used in Blender, the 3D animation tool I use.
  3. There is Jython: Python for the Java Platform, which translates as “from Python source code to Java Bytecode” *
  4. “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.
  5. 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;

  1. As it is a building block or stepping stone to learning C/C++. Mainly because it is part of the same family of languages.
  2. It is used with the cross platform mobile development tool Libgdx.
  3. 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.

Review of Blender for 3D Printing

Having a keen interest in 3D Printing and teaching Blender in a high school for my day job, I couldn’t resist getting the DVD, Blender for 3D Printing. In fact I downloaded it immediately instead of waiting for the physical DVD to arrive. With most of these tutorial or training DVDs, I tend to be disappointed with the presentation style of watching someone work through a single project in real time without a break, which I find very boring and frustrating because I want to skip a head, but on the other hand I’m worried I’ll miss something useful.

So with this in mind, I found that best bit of this DVD was the style of presentation. The presenter, Dolf (Macouno) Veenvliet, provided concise explanations and easy examples of how to apply that idea. This allows me to view a section to understand the content or review it to reinforce an idea. Also where most training DVDs are purely screen capture this combined that with a view of Macouno working, in which he would turn to the camera and discuss a concept, before using Blender to demonstrate it.

The section on Checks and Fixes provides an excellent overview of the new 3D printing tools in Blender 2.67 and it makes the DVD worth purchasing on it’s own. The previous section on Colouring Models is also high quality and informative. The final section on Making Sintel Printable gives you a summary of the process followed without the many hours the how it was done video, and the final version is available on shapeways.

Overall, I think that this would not suit an absolute beginner, but someone with a little experience in using the software and wanting to gain knowledge for entry into the 3D printing market or just to make some cool stuff, because the focus is 3D Printing and he simply high-lights effective tools and techniques in that direction. For example; in the Using Modifier’s section he does gives a brief outline of the four types of modifiers and then focuses on the two or three that are useful in 3D Printing.