Implementation Language

By dwheadon

[Warning: this is a fairly technical post] So I’m pretty much set on writing the framework in Python with the aid of the pygame library. Python is a scripting language that I was introduced to when I was working at Intel which has a lot of advantages for beginning programmers. “Why not Java” you may ask being that I wrote Stakeout in Java and extolled the benefits of using Java for that project. Well, Java got on my nerves because of its sluggishness during startup. It is really slow, even on my new laptop, when booting up the virtual machine. Python is much faster at least as far as startup goes which, when you’re developing code, is where you spend most of your time anyway. Also being a compiled language, Java required a lot of preliminary explanation about how to get even the most basic of programs up and running. Since Python is an interpreted language, we can skip all of that. You just write your code and run it directly. In addition, the pygame library takes care of a lot of the lower level graphics stuff, so it’s even easier to work with visual applications. Pygame also has some other features that are specific to game programming (like collision detection) which I plan to take advantage of. Python, like Java, is also cross-platform, so we don’t loose anything there… So what do we lose by moving to Python? As of my last inquiry into the matter, Python did not have an adequate graphical debugger and since its not a strongly typed language, the error messages aren’t always as informative as you’d like. Using Java with the Eclipse development environment worked very smoothly. The debugging disadvantage is a big negative for Python, but given the other advantages (some not listed here), I think it was the right choice.

Tags: , , ,

Leave a Reply